Could not get any data/"score"

I've managed to run popularconvention on my Mac without errors (works only with MongoDB 2.4, not with superior versions) and all tests pass (even 'fetch githubarchive' when activated) thanks partially to #63.
Of course I've reverted your last commit b78b0616cc953a31e928dbcf068f30f1be03b928 that stops aggregating data. Unfortunately I still cannot get any data.
$ mongo
MongoDB shell version: 2.4.12
connecting to: test
Server has startup warnings:
Tue Nov 24 20:30:49.962 [initandlisten]
Tue Nov 24 20:30:49.962 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
> show dbs
local	0.078125GB
popular_convention2	7.9501953125GB
test	(empty)
use popular_convention2
switched to db popular_convention2
> show collections
[...]
2015-11-25-0
2015-11-25-1
2015-11-25-10
2015-11-25-11
2015-11-25-12
2015-11-25-13
2015-11-25-14
2015-11-25-15
2015-11-25-2
2015-11-25-3
2015-11-25-4
2015-11-25-5
2015-11-25-6
2015-11-25-7
2015-11-25-8
2015-11-25-9
conventions
score
system.indexes
worklogs
> db.score.find()
>
> db.conventions.find()
>

And since there is no data, inside the browser, GET http://localhost:8020/popularconvention/score/js returns 404 (Not Found) (same for java, scala, py...).
I've enabled all logs, here an example of console output:
11/26/2015, 3:10:01 PM - debug: start processing : 2015-11-25-15
11/26/2015, 3:10:01 PM - debug: found timeline : 2015-11-25-15
11/26/2015, 3:10:01 PM - debug: start batch #2
11/26/2015, 3:10:01 PM - debug: start batch #3
11/26/2015, 3:10:01 PM - debug: start batch #4
11/26/2015, 3:10:01 PM - debug: start batch #5
11/26/2015, 3:10:01 PM - info: processTimeline is DONE!!!
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-10 has 0
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-0 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-20 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-15 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-1 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-6 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-11 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-6 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-1 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-11 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-21 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-16 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-2 has 0
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-7 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-12 has 0
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-7 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-2 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-12 has 0
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-17 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-22 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-3 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: timer 2015-11-25-8 has 0
11/26/2015, 3:10:01 PM - debug: timer 2015-11-24-3 has 0
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:01 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-8 has 0
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-13 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-18 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-13 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-4 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-23 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-4 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-9 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-14 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-9 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-5 has 0
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-14 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-24-19 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-0 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-10 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: timer 2015-11-25-15 has 0
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:10:02 PM - debug: no item - 5
11/26/2015, 3:15:00 PM - info: summarizeScore is DONE!!!
11/26/2015, 3:20:00 PM - info: findDescription is DONE!!!
11/26/2015, 3:25:00 PM - info: summarizeScore is DONE!!!
11/26/2015, 3:30:00 PM - info: processTimeline is DONE!!!
11/26/2015, 3:30:00 PM - info: findDescription is DONE!!!
11/26/2015, 3:35:00 PM - info: summarizeScore is DONE!!!
11/26/2015, 3:40:00 PM - info: findDescription is DONE!!!
11/26/2015, 3:45:00 PM - info: summarizeScore is DONE!!!
11/26/2015, 3:50:00 PM - info: processTimeline is DONE!!!
11/26/2015, 3:50:00 PM - info: findDescription is DONE!!!
11/26/2015, 3:55:00 PM - info: summarizeScore is DONE!!!

Do you have any clue? did GitHub changed the JSON returned since last year?
Example of a timeline from GitHub:
{
   "id":"3371868990",
   "type":"PushEvent",
   "actor":{
      "id":191894,
      "login":"annaship",
      "gravatar_id":"",
      "url":"https://api.github.com/users/annaship",
      "avatar_url":"https://avatars.githubusercontent.com/u/191894?"
   },
   "repo":{
      "id":5527916,
      "name":"annaship/BPC-scripts",
      "url":"https://api.github.com/repos/annaship/BPC-scripts"
   },
   "payload":{
      "push_id":876671416,
      "size":1,
      "distinct_size":1,
      "ref":"refs/heads/master",
      "head":"5e11428660ce403d8c1d0107690fc20275e9829f",
      "before":"7df6663203fbcb23480fd89058ad65fc7b72d809",
      "commits":[
         {
            "sha":"5e11428660ce403d8c1d0107690fc20275e9829f",
            "author":{
<EMAIL_ADDRESS>               "name":"annaship"
            },
            "message":"run from inside, rename",
            "distinct":true,
            "url":"https://api.github.com/repos/annaship/BPC-scripts/commits/5e11428660ce403d8c1d0107690fc20275e9829f"
         }
      ]
   },
   "public":true,
   "created_at":"2015-11-23T21:00:00Z"
}

It's like popularconvention does not perform any HTTP GET on the commits url (in this example https://api.github.com/repos/annaship/BPC-scripts/commits/5e11428660ce403d8c1d0107690fc20275e9829f).

Sorry for late. It takes a long time since I stop the batch to fetch data. You seems digged my code deeply. I don't have any clue in your logs, so I will test it on my machine.

@outsideris thx

You seems digged my code deeply
Yep, I did :)

@tkrotoff
I found it.
When finding pushevent in timeline, it return no data because there is no repository field. if you change it to repo, processing timeline will go on.
But there will be another error. I think Github API changed the field name and format, but I couldn't find the history.
I'm sorry, I have no time to resolve all issue related it. Actually I'm trying to revamp it to new version, but it is very slow.

Thx for your work.
The nature of JavaScript make it hard to find these kind of changes. With runtime check on types (like in C#, Java, C++...) we would have get a type error at runtime. Here JavaScript does not give us any clue.

Yes, you are right, and my code is pretty dirty. :)
These changes give me some insight. I have to write tests to compare the result of API next time.


'php' 不是内部或外部命令，也不是可运行的程序 或批处理文件。- check this

Hi @aurorax-neo can you share how do you download TagUI? Can you see if there is a tagui\src\php\php.exe file?
My guess is either some reason with environment that TagUI cannot find the php.exe file or maybe company policy or anti-virus blocking it.

(closing issue for now, but will look out for your reply if any)


The new V3 has no /app folder?

I'm guessing this demo isn't for V3?

Not yet... we should have the v3 port of HappyLager done in a week or two.

18 days later...
Any idea when the V3 port will be done?

I understand you have other priorities, but for newcomers to Craft like myself, not having a working demo-site is very disencouraging.


Trim ReactivePulsarSenderFactory API

What
Removes the createProducer/Sender(Schema) as it is likely not that useful as most users will specify a topic and not rely on the default topic.
Why
The thinking is that the Reactive/PulsarTemplate will be the users primary sending API. The producer/sender API is therefore secondary in that sense. This allows us to limit the producer/sender API surface area and remove any questionable APIs in 1.0.0 and let users drive the shape of the API post-1.0.0.
Additionally:

Consistency: A goal is to keep the imperative and reactive producer/sender consistent (as much as possible). I already did this same change to the imperative PPF.  This PR applies the same treatment to the Reactive counterpart.

cc: @cbornet if you agree (don't have an issue w/ this approach) I am planning on removing the schema-only API in the consumer/readers as well:
https://github.com/spring-projects-experimental/spring-pulsar/blob/f211a3490ba40049036f7b78ba63660f984aeabe/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/core/ReactivePulsarConsumerFactory.java#L37
RPRF and RPCF (https://github.com/spring-projects-experimental/spring-pulsar/blob/f211a3490ba40049036f7b78ba63660f984aeabe/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/core/ReactivePulsarReaderFactory.java#L37)

👌


Schema generation & client libraries.

Hi Tim,
First up, congratulations - really great work! :smile:
I'm really liking the approach here, lovely and simple, and very much promoting interface rather than request-response.
I've got some thoughts on how you could approach schema generation and client library support for hug, that's driven by work I'm doing right now. Feel free to throw any of this clean away if you're not interested in this kind of take, as it's very clearly motivated by my personal opinions on how we should be exposing API interfaces and interacting with them.
Parsers, Renderers & Conneg
Rather than a single input_formatter/output_formatter, provide an interface for content negotiating each from a list of available alternatives. This would allow the user to:

Present endpoints that can accept input in any one of multiple available encodings.
Present endpoints that can return output in any one of multiple available encodings.

Support both Accept: application/json header style and URL suffix .json  style.
The tablib library could be neat thing to use here if you wanted to have nice built-in textual formats, eg given this code:
@hug.get():
def user_list():
    return [
        {'id': ..., 'name': ..., 'email': ...},
        {'id': ..., 'name': ..., 'email': ...},
        {'id': ..., 'name': ..., 'email': ...}
   ]

@hug.get():
def user_detail(user_id):
    return {'id': ..., 'name': ..., 'email': ...}

Generate the following:
GET http://www.example.org/users.json
[
    {'id': 123, 'name': 'tim', 'email'<EMAIL_ADDRESS>    {'id': 456, 'name': 'tom', 'email'<EMAIL_ADDRESS>    {'id': 789, 'name': 'tam', 'email'<EMAIL_ADDRESS>]

GET http://www.example.org/users.txt
id |name|email
123|tim<EMAIL_ADDRESS>456|tom<EMAIL_ADDRESS>789|tam<EMAIL_ADDRESS>
GET http://www.example.org/users.csv
id,name,email
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
GET http://www.example.org/users/123.json
{
    'id': 123,
    'name': 'tim',
    'email'<EMAIL_ADDRESS>}

GET http://www.example.org/users/123.txt
id   |123
name |tim
<EMAIL_ADDRESS>
GET http://www.example.org/users/123.csv
id,123
name,tim
<EMAIL_ADDRESS>
Control of parameter location
It's not clear to me how hug determines if a parameter should be:

A query parameter. -  http://example.com/users/?user_id=123
A templated URL string - http://example.com/users/123
A value from the parsed request data.  {"user_id": 123}
The request body itself.  123

Being able to either explicitly control that, or at least documenting which gets used might make the resulting API style that hug generates more clear to the end-user?
Schemas & Documentation
You could use coreapi for hug's schema endpoint. Rather than return a rendered schema in a given format, instead return a Document and allow it to be rendered into one of multiple different schema formats. This approach would allow you to support multiple different types of schema, and leverage their respective documentation tools, client libraries or whatever else.
Together with the above you could eg, support:
GET http://www.example.org/schema.openapi
GET http://www.example.org/schema.raml
GET http://www.example.org/schema.apiblueprint

And have all of the above auto-generated.
You could also choose one of the available docs tools, and automatically serve that.
(Right now Core API has support for Open API and for JSON HyperSchema, but the others will be coming too in due course.)
Client libraries
Exposing a schema endpoint would allow hug to take advantage of dynamic client libraries, allowing users to more easily interact with their deployed APIs. Taking an opinionated stance on this could help you lead users in a smart direction here.
For example, if you were exposing a schema endpoint in a format supported by Core API, then you'd be able to interact with it using the dynamic client library and command line tool.
Let's take your "happy birthday" example.
@hug.get('/happy_birthday')
def happy_birthday(name, age:hug.types.number=1):
    """Says happy birthday to a user"""
    return "Happy {age} Birthday {name}!".format(**locals())

Interacting with the service via the command line
$ coreapi get http://<IP_ADDRESS>:8000/
<Hug API - "http://<IP_ADDRESS>:8000/">
    happy_birthday(name, [age])
$ coreapi action happy_birthday --param name tom --param age 123
Happy 123 Birthday tom!

(Of course if this is being run locally, then you can just use hug's cli, but the above allows anyone to interact with a deployed service)
Using the python client library:
>>> client = coreapi.Client()
>>> api = client.get('http://<IP_ADDRESS>:8000/')
>>> print client.action(api, ['happy_birthday'], params={'name': 'tom', 'age': 123}
Happy 123 Birthday tom!

Presenting hug APIs as having client libraries available in various languages straight out-of-the-box looks like a big win from my POV. Right now Core API has a command line tool and a python client library, but I'm working flat-out on this project and there will be be support in other languages too soon enough - with JavaScript support coming next. Core API is an open standard, so other folks can build dynamic client libraries in their own favored language too. I'll likely also be tying this in with REST framework in the near future, so I'm pretty much all-in on it.
Apologies for lumping this all together - hopefully it comes across as coherent whole.
Be very interested to know your thoughts on any of this!
Cheers!
Tom

Hi Tom,
Thank you! I'm honored that you spent the time to look at the project, generally seem to like the concept, and put together such a well thought out set of potential improvements. I think the direction you listed here is spot on with the direction I'm trying to take the project, while some of the implementation might be somewhat different. For instance in the development branch I've added a clean way to support outputting different output formats depending on the content-type or URL suffix, I've added hug.use.HTTP to enable using any hug API externally in a way that feels like local usage, and allows cleanly switching back to local usage, @BrandonHoffman is working on an ongoing project to add the ability to switch documentation outputs cleanly, and I've secured hug.rest as a website to host as much documentation for the framework as I and the community can put together.
One of the things I would really like to do when 2.0.0 is finished at the end of this month, is put together a roadmap for 3.0.0 - At that time I'll reflect on what recommendations in here, quite possibly all, that we can and should integrate into the project and add them to the road map.
Also, if you ever have any random time to contribute to the project https://github.com/timothycrosley/hug/blob/develop/CONTRIBUTING.md  you could totally get a free t-shirt :D
Again thanks! And I'll make sure to further investigate all of these as well as look into leveraging the projects you are working on
~Timothy


[TF] [lit] Gardening.

TensorFlowRuntime tests can now be run directly without additional flags:
llvm/utils/lit/lit.py build/.../TensorFlowRuntime
Previously, specifying --param swift_tensorflow_path=... was necessary.

Add -ltensorflow -ltensorflow_framework flags if tensorflow feature is available.

Previously, flags were added based on the lit parameter swift_tensorflow_path,
which must be manually specified.
The new condition is precise and doesn't require manual specification.

Minor edits, unify code style.

@swift-ci Please test tensorflow

@swift-ci Please test tensorflow Linux

@swift-ci Please clean test tensorflow Linux

@swift-ci Please clean test tensorflow Linux GPU

@swift-ci Please clean test tensorflow Linux GPU

@swift-ci Please clean test tensorflow Linux GPU

@swift-ci Please test tensorflow macOS

@swift-ci Please test tensorflow macOS

Does this address https://bugs.swift.org/browse/SR-7983 in any way?


How to know if adapter is created?

Let's say we ahave a template:

    {{item.content}}

So how to know if adapter is created?

The simpliest way is to $watch for $scope.adapter property:
    $scope.$watch('adapter', () => {
      console.log($scope.adapter);
    });


F10 keeps showing debug view even when users hide it

Issue Type: Bug
I hide side bar during debug session somtimes but every F10 will bring it back
VS Code version: Code - Insiders 1.57.0-insider (c7119ae8b6390a5700f6b28f0f1511d676c96562, 2021-06-08T09:17:55.672Z)
OS version: Windows_NT x64 10.0.19041
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.93GB (6.31GB free)

Process Argv
--enable-proposed-api joyceerhl.vscode-pyolite --enable-proposed-api rebornix.better-jupyter-errors --enable-proposed-api donjayamanne.kusto --crash-reporter-id e73ca734-e67c-473d-8c47-80c5407fc859

Screen Reader
no

VM
0%

You can control this via
"debug.openDebug": "openOnSessionStart"

The default is to open on break, we changed the default based on user feedback.
@rebornix do you have some ideas how to improve this?
I think a setting is good enough for this?

@isidorn the setting is good enough for me, it's not clear that this feature can be controlled by a setting (that's why I didn't go the settings directly).
I'm not sure if we can have a way to detect that users keep doing

F10
hide sidebar
F10 again
hide sidebar

when f10/hide happens more than twice or three times, maybe we can ask users if they want to change the setting. Though I'm not sure if that contributes to the overload of notifications.

Feel free to close this issue.

Detecting that the sidebar got closed by the user might be a good signal.
I suggest that for now we move this to backlog and if other users hit this we can think about doing something here.

This should be better now :) We only open on breakpoint hit.
I did not perfectly understand your issue (did not understand that the issue is that bad), so sorry for the slow response here.


Event Mesh :: Oracle TEQ bridge Kafka :: Lab 4

Lab 4: Show message flow from Kafka to Oracle TEQ – including for multiple Topics/partitions (using Kafka JMS sink connectors)

Lab #262 - Test with QUEUE (single consumer), and ADB-D worked successfully. Next steps:

[ ] review tests results
[ ] try a test with topic type
[ ] tests with ADB-S

All tests with ADB-D and ADB-S were successful.  The scripts for automation are done. Working on documentation and on the last full cycle test.


Alias stream-browserify to both stream and stream-browserify

So here's a fun one. In #276 we aliased stream-browserify to stream in the Torus wallet adapter package. We did this because some dependency of Torus presumed that it was running in an environment with Node browser polyfills (eg. that stream was available for import).
Fast forward to https://github.com/solana-labs/solana-pay/issues/44. Now you have a situation where the Torus wallet adapter is happy, but some other dependency of @solana/pay-point-of-sale now tries to import stream-browserify.

Recall that wallet-adapter-torus aliases<EMAIL_ADDRESS>to stream
@parcel – a dependency of @solana/pay-point-of-sale – depends on stream-browserify through node-libs-browser
Yarn goes ‘oh look; stream-browserify is already installed by wallet-adapter-torus. Nothing to do here!’
When node-libs-browser goes to import stream-browserify it can't find it. The only path on disk now is node_modules/stream because of the alias definition.

The solution in this PR is to just import stream-browserify under both names: stream/ and stream-browserify/.
Test plan

In this repo: (cd packages/wallets/torus && yarn link)
In the Solana Pay repro: (cd point-of-sale && rm yarn.lock && yarn link @solana/wallet-adapter-torus && yarn && yarn start)

Project builds. Fixes https://github.com/solana-labs/solana-pay/issues/44

Thank you so much!

Published:

<EMAIL_ADDRESS><EMAIL_ADDRESS>


Tutorial icons on level background

Things to show player

Left/Right to rotate
R to restart
correct rotation on goal to finish level
player can rerotate with wall (?)
Up/Down to switch character

done


[Core]: Small Docstring Clarification for BaseTool

Description: kwargs are not being passed to run of the BaseTool which has been fixed
Issue: #28114

@eyurtsev

@eyurtsev


api: Add support for enabling HTTP/1.0 and HTTP/0.9

What this PR does / why we need it:
This PR adds the API for enabling support for HTTP/1.0 and HTTP/0.9 from downstream clients

/retest


DUOS-731[risk=no]Capture date of Researcher DAR submission and make available in DAR Metrics API

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-731
Scope of Changes
update setDateSubmitted to use the dar instead of the election
update getHeaderRow to be on the service class
create DecisionMetrics Interface
create type enum
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've followed the instructions if I've made any changes to the API, especially if they're breaking changes
[ ] I've updated the RC_XXX release ticket with any manual steps required to release this change
[ ] I've updated the FISMA documentation if I've made any security-related changes, including auth, encryption, or auditing
[ ] I've updated Swagger to reflect any API changes

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this unless it's for a hotfix. In that case, don't delete it!
[ ] Test this change deployed correctly and works on dev environment after deployment

When running locally, I get this on the dac decision metrics:
consent     | ! java.lang.IllegalArgumentException: durationMillis must not be negative
consent     | ! at org.apache.commons.lang3.Validate.inclusiveBetween(Validate.java:1043)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:131)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:114)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDurationWords(DurationFormatUtils.java:181)
consent     | ! at org.broadinstitute.consent.http.models.DarDecisionMetrics.setTurnaroundTime(DarDecisionMetrics.java:175)

We probably need some better validation at the turnaround time checks.

When running locally, I get this on the dac decision metrics:
consent     | ! java.lang.IllegalArgumentException: durationMillis must not be negative
consent     | ! at org.apache.commons.lang3.Validate.inclusiveBetween(Validate.java:1043)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:131)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDuration(DurationFormatUtils.java:114)
consent     | ! at org.apache.commons.lang3.time.DurationFormatUtils.formatDurationWords(DurationFormatUtils.java:181)
consent     | ! at org.broadinstitute.consent.http.models.DarDecisionMetrics.setTurnaroundTime(DarDecisionMetrics.java:175)

We probably need some better validation at the turnaround time checks.


[solidstart-tanstack-tailwind] Showcase clean up

We need a general proofing and cleanup of the work that has been done to make sure there are no errors or omissions.
Acceptance Criteria

[ ] Review the current showcase is free of errors, and everything expected has been included and is operating as expected.
[ ] Run the scripts in package.json and make sure that all run as expected without errors
[ ] Review README and make sure it is complete without spelling errors or omissions

Timebox: max 2 hours each
Who has completed this:

[ ] Daian
[ ] Mark
[ ] Mattia
[x] Adam
[ ] Chinedu

Missing Tab Header and pagination on Profile Page:

The profile page -> http://localhost:3000/[login] should have the loading animation instead of text -> Loading...

Followers and Following counts not displaying correct values - always zero

Missing pagination also in the org page (and tab nav maybe)

Logging out doesn't redirect user to signin page,  in pages other than the home page.

After the review, I didn't any bugs but there are few minor things

There are some imports with a double component names like this across the project

<LoadingPulseDot /> should be centered

Superseded by #1527


Validate Gradle wrapper once

Codecov Report

Merging #61 (d2d97bb) into main (0aa68fa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #61   +/-   ##
=======================================
  Coverage   37.05%   37.05%
=======================================
  Files          18       18
  Lines         645      645
  Branches       90       90
=======================================
  Hits          239      239
  Misses        392      392
  Partials       14       14

Continue to review full report at Codecov.

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


Better handling of values containing backslashes

Currently backslashes (and possibly other characters) are being lost from values as they are passed through Artisan. These need to be escaped so they are preserved in the final output. An appropriately placed call to addslashes should to the trick.
Example curl command:
curl --request POST https://example.com/pdf/extract --header 'Content-Type: multipart/form-data' --form 'file=C:\Users\secret\files\007.pdf'

The input is parsed by the StringInput class, which tokenises the input. Which is fine, but there it strips the slashes. Which in turn is passed back into our CurlCommand.
I'm doing some more digging wether or not it's possible to adapt the tokenisation, or if there's a way around this.
// vendor/symfony/console/Input/StringInput.php:49
private function tokenize(string $input): array
{
    (..)
    } elseif (preg_match('/'.self::REGEX_QUOTED_STRING.'/A', $input, $match, 0, $cursor)) {
        $token .= stripcslashes(substr($match[0], 1, -1));
    }
    (..)
}

@Treggats, again, I think if we addclashes before calling Artisan would solve the issue.

@Treggats, again, I think if we addclashes before calling Artisan would solve the issue.

For sure, but when calling this command it's parsed by the base command class. That's where the issue is.

Interesting. I would still think there is a way to add slashes before passing the parameters to Artisan. Then again, can't be the only devs to pass slashed values to Artisan commands. So there's probably some option or double output happening elsewhere.
I'll take a look.


NaNs break xsv sort -N

NaNs, empty or broken values seem to silently break the entire sorting.
$ printf '3\n5\n2\n2.01\nNaN\n2\n0\n' | xsv sort -n -N
2
2.01
3
5
NaN
0
2

I expect them to aggregate somewhere before or after the proper numeric values and have subset of values which succeed to parse as numbers to be sorted properly. Somewhat like /usr/bin/sort -n.

I'd suggest using a string in there to further inform the solution printf '3\n5\n2\n2.01\nNaN\nnot float\n20\n0\n' | ./target/debug/xsv sort -n -N. Then either change the default value in comparison (partial_cmp()'s unwrap_or), or just in next_num, don't classify NaN as a float but as something non-numeric. (The latter seems to be a smoother patch). Then it will sort with the non-numerics correctly, both forward and reverse.


Allow admins to hide certain authentication methods in the UI

For example, admins might want to hide the login option with token.

Variant of #8179


Patcher Instance MIDI control: note held if keyboard key is down and tab is switched

To repro:

export a patch that has MIDI control, fe rnbo.remote help patch's remote_example
in graph editor on the pi, add patcher instance of the export
in graph editor on pi, hook up audio output
in patcher instance control->MIDI, hold down a note on computer keyboard
while note is held down, change tabs back to Parameters
release keyboard key - note still held down

Could have a flush when switching tabs/views, and/or have an all notes off panic/reset option for MIDI
Probably another ticket, but it would be nice if there was a virtual MIDI piano “device” in the graph editor that you could connect to any midiin, instead of it being patcher instance-specific.

related to issue #45 (MIDI panic button)


Abridged reference for Criterion

There's a stub of Criterion reference, but it needs to be improved.

Hinted by @ggorlen here: https://github.com/codewars/docs/issues/207#issuecomment-758143049

There's a small walkthrough on improving criterion assertion messages here which may be useful.

Hinted by @ggorlen here: https://github.com/codewars/docs/issues/207#issuecomment-758143049

There's a small walkthrough on improving criterion assertion messages here which may be useful.


Proposed changes

@LasticotSoftware - I'm contemplating changing the way this works slightly.
I think if you (or I'll be happy to do it) add a simple txt or JSON file with the defined currencies we could change the instructions on the README to say something like...

Copy the currencies.example.json file to currencies.json and add or remove trading pairs that you'd like to work with.

Just thinking then the currencies.json file can be added to the .gitignore file so that other users can make easier changes to the code to propose bug fixes.
Would be keen to know your thoughts. Like I said, I'm more than happy to do that change.

Have you created the change?

Have you created the change?

No, I ended up adding a currencies object (it was merged). The only thing you'd need to do is handle the rounding of the numbers before sending orders I believe. Unfortunately I've had quite a lot happen this year and parked this. My code change is referenced here:
https://github.com/LasticotSoftware/Astibot/blob/master/src/GDAXCurrencies.py


[ENH] Classifier tests for capability:contractable and capability:train_estimate tags

Contents of https://github.com/sktime/sktime/pull/3528
Adds generalised tests for classifiers which implement the capability:train_estimate and capability:contractable tags.
The tests require a _get_train_probs method or time_limit_in_minutes parameter, but will not fail classifiers without them. These are just to test what is currently done, not set the interface for these tags in stone.

its a monster! All looks fine to me, if you resolve the conflicts we should get it in ASAP or this will just keep happening


Add Phone Support

Add phone support addresses and support for laravel 7 | 8

Thank you @midoelhawy for your proposal, you can add as many extra fields as you want using the migration and by updating the $fillable array in your eloquent model, but in my opinion there's no need to include that into core. You can publish the migration as explained in the docs here.
Feel free to reopen this issue if you've any questions or need any help.


Proposal obtain / getOrCreate function

With nullability this would likely be useful. Also sometimes you want to force creation and not get a cached value.
We could make it an extension or a new method on Entry.
extension NeatCacheEntry<T> on Entry<T> {
  // Get or create a value.
  Future<T> obtain(
    Future<T> Function() create, {
    Duration? ttl,
    bool purgeCache = false,
  }) async {
    if (purgeCache) {
      final value = create();
      if (ttl != null) {
        await set(value, ttl);
      } else {
        await set(value);
      }
      return value;
    }
    if (ttl != null) {
      return (await get(create, ttl))!;
    }
    return (await get(create))!;
  }
}

Fair question is if create should be allowed to return null.


Kryvosheiia #350 download groups feature

Close #350
Add loading files(exel ) in groups

delete this pull request


make default values also apply to null inputs

related to https://github.com/xaviergonz/mobx-keystone/issues/44

Coverage increased (+0.06%) to 89.149% when pulling 2bd9985427e4ff0a8c74caf48691c966ae4831fb on default-for-null into 5b384b6348cc9039503e94c02af8e92a8594e695 on master.


Prevent eager task creation during configuration time

The usage of 'findByName' and 'flatMap' cause the objects in the SourceSetContainer and its depenedencies to be eagerly created.
Fixes #815.

Build scan with failing tests: https://scans.gradle.com/s/5nutz74anzqmw


Videos concat not work

I try to concat 2 videos but I was got an error.
Here is my code:
    try:
        in1 = ffmpeg.input(args.videos[0])
        in2 = ffmpeg.input(args.videos[1])
        v1 = in1.video
        a1 = in1.audio
        v2 = in2.video
        a2 = in2.audio
        joined = ffmpeg.concat(v1, a1, v2, a2, n=2, v=1, a=1).node
        out = (
            ffmpeg.output(joined[0], joined[1], 'out.mov')
            .overwrite_output()
            .run()
        )
        print(out)
    except ffmpeg.Error as e:
        print(e.stderr, file=sys.stderr)
        sys.exit(1)

Here is error I got:
[fc#0 @ 0x600003099a70] Stream specifier ':a' in filtergraph description [0:v][0:a][1:v][1:a]concat=a=1:n=2:v=1[s0][s1] matches no streams.
Error binding filtergraph inputs/outputs: Invalid argument

Did you try to run
(
    ffmpeg
    .concat(
        ffmpeg.input(args.videos[0]),
        ffmpeg.input(args.videos[1])
    )
    .output('out.mov') # Unless your input are already .mov you'll probably have to do some conversion here
    .run()
)

I am not sure I understand exactly what you are trying to achieve. Can you give more details please?

you can use videoalchemy to have readable yaml base ffmpeg command. when it success get generated ffmpeg command and use that in your code.


[Changelog] Add SE-0242

cc: @slavapestov

@swift-ci Please smoke test

I'll do the 5.1 cherry pick since I need to add an entry of my own. Thanks!

@swift-ci Please smoke test


Minor changes to Cesium for Unreal to work with cesium-native tileset lifetime changes

CesiumGS/cesium-native#554
CesiumGS/cesium-native#563

Thanks for the pull request @kring!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.

@nithinp7 I updated this PR to work with CesiumGS/cesium-native#563, which also incorporates https://github.com/CesiumGS/cesium-native/pull/554. So those two PRs and this one should be ready for review.

Thanks again @kring!


Add more tools and revamp sdk-tools package

(message created by the CI based on PR content)

Codecov Report

Merging #2870 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2870   +/-   ##
=======================================
  Coverage   56.68%   56.68%
=======================================
  Files        7628     7628
  Lines      158139   158139
=======================================
  Hits        89639    89639
  Misses      68500    68500

Continue to review full report at Codecov.

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


how can I run this code on the turtlebot

I'm the beginner of this kind of works so I want to try to run your code in the real world but hard to try could u give me soem tips to run this code on the real turtlebot?

Hi,
Sorry, this is a very vague question. I can only try to answer questions regarding specific problems so I don't think I can help you at this stage. Best of luck!


Fix function comments based on best practices from Effective Go

Every exported function in a program should have a doc comment. The first sentence should be a summary that starts with the name being declared.
From effective go.
I generated this with CodeLingo and I'm keen to get some feedback, but this is automated so feel free to close it and just say opt out to opt out of future CodeLingo outreach PRs.

These changes look pretty solid except the capitalisation of "Will" on this one, which I've noted an am fixing.
Let me know what you think! :smile:


[Bug]: IndexError: Dimension out of range (expected to be in range of [-1, 0], but got -2)

Describe the bug
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got -2)
Dataset
Folder
Model
PatchCore
Steps to reproduce the behavior
python tools/train.py --config D:\project\anomalib-main\anomalib-main\src\anomalib\models\patchcore\config.yaml --model patchcore
OS information
OS information:

OS: [e.g. Ubuntu 20.04]
Python version: [e.g. 3.9.0]
Anomalib version: [e.g. 0.3.6]
PyTorch version: [e.g. 1.9.0]
CUDA/cuDNN version: [e.g. 11.7]
GPU models and configuration: [e.g. 2x GeForce RTX 3060]
Any other relevant information: [e.g. I'm using a custom dataset]

Expected behavior
Unsupervised training
Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
No response
Configuration YAML
dataset:
  name: mvtec
  format: folder
  root: D:\project\anomalib-main\anomalib-main\datasets\MVTec
  normal_dir: card/train/good
  normal_test_dir: card/test/good
  abnormal_dir: card/test/ng
  task: segmentation
  mask_dir: null
  extensions: null
  train_batch_size: 32
  eval_batch_size: 32
  num_workers: 8
  image_size: 256 # dimensions to which images are resized (mandatory)
  center_crop: 224 # dimensions to which images are center-cropped after resizing (optional)
  normalization: imagenet # data distribution to which the images will be normalized: [none, imagenet]
  transform_config:
    train: null
    eval: null
  test_split_mode: none # options: [from_dir, synthetic]
  test_split_ratio: 0.2 # fraction of train images held out testing (usage depends on test_split_mode)
  val_split_mode: same_as_test # options: [same_as_test, from_test, synthetic]
  val_split_ratio: 0.5 # fraction of train/test images held out for validation (usage depends on val_split_mode)
  tiling:
    apply: false
    tile_size: null
    stride: null
    remove_border_count: 0
    use_random_tiling: False
    random_tile_count: 16

model:
  name: patchcore
  backbone: wide_resnet50_2
  pre_trained: true
  layers:
    - layer2
    - layer3
  coreset_sampling_ratio: 0.1
  num_neighbors: 9
  normalization_method: min_max # options: [null, min_max, cdf]

metrics:
  image:
    - F1Score
    - AUROC
  pixel:
    - F1Score
    - AUROC
  threshold:
    method: adaptive #options: [adaptive, manual]
    manual_image: null
    manual_pixel: null

visualization:
  show_images: False # show images on the screen
  save_images: True # save images to the file system
  log_images: True # log images to the available loggers (if any)
  image_save_path: null # path to which images will be saved
  mode: full # options: ["full", "simple"]

project:
  seed: 0
  path: ./results

logging:
  logger: [] # options: [comet, tensorboard, wandb, csv] or combinations.
  log_graph: false # Logs the model graph to respective logger.

optimization:
  export_mode: onnx # options: onnx, openvino

# PL Trainer Args. Don't add extra parameter here.
trainer:
  enable_checkpointing: true
  default_root_dir: null
  gradient_clip_val: 0
  gradient_clip_algorithm: norm
  num_nodes: 1
  devices: 1
  enable_progress_bar: true
  overfit_batches: 0.0
  track_grad_norm: -1
  check_val_every_n_epoch: 1 # Don't validate before extracting features.
  fast_dev_run: false
  accumulate_grad_batches: 1
  max_epochs: 1
  min_epochs: null
  max_steps: -1
  min_steps: null
  max_time: null
  limit_train_batches: 1.0
  limit_val_batches: 1.0
  limit_test_batches: 1.0
  limit_predict_batches: 1.0
  val_check_interval: 1.0 # Don't validate before extracting features.
  log_every_n_steps: 50
  accelerator: auto # <"cpu", "gpu", "tpu", "ipu", "hpu", "auto">
  strategy: null
  sync_batchnorm: false
  precision: 32
  enable_model_summary: true
  num_sanity_val_steps: 0
  profiler: null
  benchmark: false
  deterministic: false
  reload_dataloaders_every_n_epochs: 0
  auto_lr_find: false
  replace_sampler_ddp: true
  detect_anomaly: false
  auto_scale_batch_size: false
  plugins: null
  move_metrics_to_cpu: false
  multiple_trainloader_mode: max_size_cycle

Logs
File "D:\project\env\anomalib\lib\site-packages\torch\onnx\utils.py", line 989, in _create_jit_graph
    graph, torch_out = _trace_and_get_graph_from_model(model, args)
  File "D:\project\env\anomalib\lib\site-packages\torch\onnx\utils.py", line 893, in _trace_and_get_graph_from_model
    trace_graph, torch_out, inputs_states = torch.jit._get_trace_graph(
  File "D:\project\env\anomalib\lib\site-packages\torch\jit\_trace.py", line 1268, in _get_trace_graph
    outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs)
  File "D:\project\env\anomalib\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\project\env\anomalib\lib\site-packages\torch\jit\_trace.py", line 127, in forward
    graph, out = torch._C._create_graph_by_tracing(
  File "D:\project\env\anomalib\lib\site-packages\torch\jit\_trace.py", line 118, in wrapper
    outs.append(self.inner(*trace_inputs))
    return forward_call(*args, **kwargs)
  File "D:\project\env\anomalib\lib\site-packages\torch\nn\modules\module.py", line 1488, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "D:\project\env\anomalib\lib\site-packages\anomalib\models\patchcore\torch_model.py", line 81, in forward
    patch_scores, locations = self.nearest_neighbors(embedding=embedding, n_neighbors=1)
  File "D:\project\env\anomalib\lib\site-packages\anomalib\models\patchcore\torch_model.py", line 178, in nearest_neighbors
    distances = self.euclidean_dist(embedding, self.memory_bank)
  File "D:\project\env\anomalib\lib\site-packages\anomalib\models\patchcore\torch_model.py", line 163, in euclidean_dist
    res = x_norm - 2 * torch.matmul(x, y.transpose(-2, -1)) + y_norm.transpose(-2, -1)

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hello. I'll try to reproduce this, but I did try to train patchcore and export to onnx just recently and it worked so I'm not sure what exactly is going on.

I just realized something and I think that's the issue. YOu have this in your config:
test_split_mode: none # options: [from_dir, synthetic]
test_split_ratio: 0.2 # fraction of train images held out testing (usage depends on test_split_mode)
val_split_mode: same_as_test # options: [same_as_test, from_test, synthetic]
val_split_ratio: 0.5 # fraction of train/test images held out for validation (usage depends on val_split_mode)

You can't have validation set to "same as test", when your test is set to "none". This also doesn't work if validation is set to none, which might be an issue since core-set subsampling is done at the beginning of validation and this somehow messes with onnx export. So I'd say that if you don't have test or val data for your dataset, you can use option "synthetic".

Duplicate of #977. As @blaz-r mentioned, you will need to set the test set if you want a validation set. We are working on a fix.


can you explain in what manner the files need to be executed o see the result

like if someone wants to execute these branch prediction program which program they must start with since there are many python programs


Proposal for fixing Haskell's gtk package on Darwin

Issue description
pkgs.haskellPackages.gtk fails to build on x86_64-darwin.  See below for the proposed fix
Steps to reproduce
Given this reproduce.nix file:
let
  bootstrap = import <nixpkgs> { };

  nixpkgs = bootstrap.fetchFromGitHub {
    owner = "NixOS";

    repo = "nixpkgs";

    rev = "09e191c22bbfad965a9b5469d5e0ac25b693036f";

    sha256 = "1454ysw5gy52kb08v1wd2f6incp2ccmf79ni7kp2gmwrgsm3rrmj";
  };

  pkgs = import nixpkgs {};

in
  pkgs.haskellPackages.gtk

... you can reproduce the error with:
$ nix-build reproduce.nix
...
[ 67 of 209] Compiling Graphics.UI.Gtk.Embedding.Plug ( dist/build/Graphics/UI/Gtk/Embedding/Plug.hs, dist/build/Graphics/UI/Gtk/Embedding/Plug.o )

Graphics/UI/Gtk/Embedding/Plug.chs:120:6: error:
    • Couldn't match expected type ‘Ptr ()’
                  with actual type ‘Maybe DrawWindow’
    • In the first argument of ‘gtk_plug_new’, namely
        ‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
      In the second argument of ‘($)’, namely
        ‘gtk_plug_new
           (fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
      In the second argument of ‘($)’, namely
        ‘liftM (castPtr :: Ptr Widget -> Ptr Plug)
         $ gtk_plug_new
             (fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
...

Technical details

System: x86_64-darwin
Nix version: 1.11.6
Nixpkgs revision: 09e191c22bbfad965a9b5469d5e0ac25b693036f

Suggested solution
Adding the -fhave-quartz-gtk cabal configure flag on OS X fixes the problem:
let
  bootstrap = import <nixpkgs> { };

  nixpkgs = bootstrap.fetchFromGitHub {
    owner = "NixOS";

    repo = "nixpkgs";

    rev = "09e191c22bbfad965a9b5469d5e0ac25b693036f";

    sha256 = "1454ysw5gy52kb08v1wd2f6incp2ccmf79ni7kp2gmwrgsm3rrmj";
  };

  pkgs = import nixpkgs {};

in
  pkgs.haskell.lib.appendConfigureFlag
    pkgs.haskellPackages.gtk
    "-fhave-quartz-gtk"

I'd submit a PR to fix this but I'm not sure what's the idiomatic way to patch a Haskell package with a cabal configure flag just for Darwin platforms

Similar to this, you'll have haskell.lib in scope there https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/haskell-modules/configuration-common.nix#L173-L180.


[WIP]: Upstream sync df92191e4d8..1b1d09c2f

Not ready yet, I just validated Windows and Msi builds nothing else (still pending grep, tests, manual validation, CI, etc)

Closing this one in favor of https://github.com/signalfx/signalfx-dotnet-tracing/pull/470


Add rbs-ads's file

created a branch, created a file and made a commit, and opened a pull request

merger test

test


New Config Property: Override ApplicationInsight's Service Endpoint Address

Fix Issue: https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/853
Currently, we do not offer users a friendly way to override both
dc.services.visualstudio.com/v2/track and dc.services.visualstudio.com/api/profiles
Used by our classes InMemoryTelemetryChannel, ServerTelemetryChannel, and CorrelationIdLookupHelper.
Add new root level config property "ApplicationInsightsEndpointBaseAddress"
This new root level config will allow users to override the BASE ENDPOINT dc.services.visualstudio.com.
If this has been overridden, our classes will append their relative paths to this config value.
The theory is that users should not be expected to know every possible service call we could make and override those individually.
To protect backward compatibility, the ITelemetryChannel.EndpointAddress property will remain unchanged and take precedence over this root config value.
Order of precedence will be: Prop > Config > Default
To discourage 3rd party TelemetryChannels from using this property, this config property has been given an "ApplicationInsights" name.
These documents will need to be updated to address this new config property:

Microsoft Docs: "IP Addressed used by Application Insights"
Microsoft Docs: "Application Insights - Proxy"

[ ] I ran Unit Tests locally.

For significant contributions please make sure you have completed the following items:

[ ] Design discussion issue #
[ ] Changes in public surface reviewed
[ ] CHANGELOG.md updated with one line description of the fix, and a link to the original issue.
[ ] The PR will trigger build, unit test, and functional tests automatically. If your PR was submitted from fork - mention one of committers to initiate the build for you.

Abandoning in favor of a more extensible implementation.


fix(renderer): allow unicode for no-escape variables

Issue
See Issue https://github.com/noahmorrison/chevron/issues/28 for more details.
Changes

Add unicode parsing for 'no-escape' case
Add test case for parsing unicode  without escaping HTML

I am not familiar with Tox so I do not know how to fix the failing CI job, but it should have nothing to do with my changes.

@noahmorrison Are you still maintaining this package? I am happy to help.

In the past @noahmorrison responded and help eventually.
We too are actively using this repr so are happy to help maintain.

It seems he can cross out the first two TODOs in the Readme.md ;)

Hey guys, I have no idea why tox failed. It only failed on python 3.3 which I tried on my local machine and it worked fine.
Merging this fix in, thanks for the unittest.
Still happy to see this project being used :)


direct IPP printing broken

I have a Samsung M2825DW IPP capable printer in my network connected with LAN cable. Running latest cups 2.3.0 and cups-filters 1.25.12 on a cups server and all clients I can print to a driverless queue @server from any client well. But printing from clients to the direct IPP queue created by cups-browsed fails with "HTTP_STATE_WAITING Closing for error 32 (Broken pipe)". cupsd.conf and cups-browsed.conf with default settings and no change with "CreateRemoteCUPSPrinterQueues No" and "CreateIPPPrinterQueues All". Any idea how to further track this down?
error_log.txt

Please edit /etc/cups/cups-browsed.conf on your client to have a line
DebugLogging file

in it and restart cups-browsed. On your server switch CUPS to debug logging:
cupsctl --debug-logging

On the client print a job to the cups-browsed-generated queue and attach the /var/log/cups/error_log of the server and the /var/log/cups/cups-browsed.log of the client to this issue. Note that you have to rename the files adding a .txt extension to make the attachments getting accepted by GitHub.

cups-browsed.txt
cups_error.txt
Print job starts at ~ 16/Nov/2019:14:19:31 +0100

Are you sure that your print job did not get printed? All lines in error_log which concern your print job (containing [Job 109]) make the impression that the job got correctly printed. No error in any of these lines, all filters exiting successfully, job getting completed and dequeued.
There is a line
D [16/Nov/2019:14:19:34 +0100] [Client 891] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)

but it seems independent of the job.
The data is sent to the printer as 600-dpi Apple Raster. Did the printer actually print?
Could you run the command
ipptool -tv ipp://Samsung-Printer.local:631/ipp/print get-printer-attributes-2.0.test > attrs.txt

and if it does not work (or if attrs.txt is only a few lines long) run
ipptool -tv ipp://Samsung-Printer.local:631/ipp/print get-printer-attributes.test > attrs.txt

Please attach attrs.txt.

The printer doens't print out anything. 2nd ipptool command worked here. 1st didn't report anything back. Maybe I accidentally changed some option in the printers webinterface.
attrs.txt

Thank you, seems that the printer gets colored Apple Raster while it is a monochrome printer. "urf-supported" lists the variants of Apple Raster the printer understands and the only color space listed there is "W8", meaning "White, 8-bit".
@deepak0405, cups-browsed needs to tell more than only format and resolution to the implicitclass backend, color space/color depth is also needed, to be absolutely sure also paper size.

Could you also attach the PPD file of your print queue /etc/cups/ppd/Samsung_M2825DW_IPP.ppd? Please always add .txt to the file name before attaching.

Samsung_M2825DW_IPP.txt

I still do not have any clue why your print queue generated by cups-browsed produces data which the printer does not print, but the temporary queue of CUPS, with the same PPD file, produces output which gets printed.
So I need from you a CUPS error_log (in debug mode) which is from a job printed to the temporary CUPS queue (which the printer actually printed). Could you attach that?

This is the printjob using the fixed server queue. Log of the client and server.
client_error_log.txt
server_error_log.txt
Maybe I should also mention that when disabling/stopping cups-browsed on the client printing using cups own temporary self detected IPP queue also fails here.

"fixed server queue"? What did you actually fix on it?

Queue on the server: add new printer - choose IPP printer - check "shared" so it can be found from all clients "@server".

Thanks, found it out, too. So for you it printes when jobs go to the shared CUPS queue on the server, but directly printing to the printer from the clients, both with cups-browsed-generated queue or with temporary CUPS queue does not work.
I see the following difference now:
In the situation when printing worked (via CUPS server) the job got send with "InputSlot=Tray-1" This choice for an input tray does not exist ("Tray1" would be correct according to the PPD file you supplied earlier), so it is ignored and automatic tray selection used. This leads to the rastertopwg filter (generates Apple Raster) to use "MediaPosition = 0". This way you get a printout.
On direct printing from the client "InputSlot=Tray1" was sent and this exists in the PPD, gets selected and that sets "MediaPosition = 20" and this the printer does not print.
Eveb that in one case Poppler is used for the rasterization of the PDF and in the other Ghostscript, the page geometry, color mode, and color depth are the same, only the "MediaPosition" is different.
So try to print jobs in the case of direct printing from the client but supply "InputSlot=Auto". Does this print? Please also provide an error_log of that.

Could you also supply the file `/etc/cups/ppd/Samsung_IPP.ppd' from your server?

Samsung_IPP.ppd from server:
Samsung_IPP.txt

Tray set to "Auto" on the client:
server_error_log.txt

What is different is that the PPD file on your server got generated by cups-filters, due to the fact that you have set up the printer with a classic printer setup tool from good old driver times and I have created a legacy support feature (the driverless utility) in cups-filters which makes driverless printers appear in these tools.
When printing directly from the client, not using the server there are two cases: If cups-browsed is not running, CUPS creates a temporary print queue as soon as you try to print and this queue has a PPD generated by CUPS. If cups-browsed is running, cups-browsed first makes CUPS creating the temporary queue (by trying to retrieve the printer's options), downloads the PPD of the temporary queue (the one generated by CUPS) and replaces the temporary queue by a permanent one with this PPD.
The printer (printing from Tray 1 requested) prints with the PPD of cups-filters and not with the PPD of CUPS. The difference is most probably a coincidence, not a result of either me or Michael Sweet being more knowledgeable about doing it correctly. The PPD of CUPS sets "MediaPosition = 20" whereas the PPD of cups-filters does not do so. And the rastertopwg filter genrating Apple Raster with "MediaPosition = 20" breaks your printing.
Best is you report a bug in CUPS ...

Firmware bug of the printer, according to the CUPS bug report. Closing.


Question related new altcoin Bitcoin cash

Hi,
in order to deal with the new Bitcoin cash https://www.bitcoincash.org/ is it enough to add a few lines to the products.json file or anything else to do?
A bit off topic I have another concern. Having the private key for bitcoins I can use it as well to get same amount of bitcoin cash. How to make sure that a bitcoin cash wallet is not taking my private key and use it for stealing my bitcoins? Would it be safe (in case the wallet is scam) to do it this way?

Generate new private bitcoin key and move all the bitcoins there
Import the old bitcoin private key into the new bitcoin cash wallet

If I'm right then the old key has in bitcoin only the power about 0 but in bitcoin cash still power about the full value. So in case the bitcoin cash wallet is a scam they can steal my bitcoin cash but not the bitcoin.
Comments appreciated  if I oversee something or how you guys handle this topic.
Thanks.

For Bittrex simply running updateproducts.sh works and you will see the new selector available when you run list-selectors. I have been reliably trading BTC-BCC (they call call it BCC there, not BCH) since they enabled trading yesterday.
For Kraken, the updateproducts.sh script is broken - https://github.com/carlos8f/zenbot/issues/427

Thanks! Both kraken and bittrey don't allow currently to deposit bcc funds so I assume you had it already there. So I'll wait a bit until I can move my bcc there. However on kraken I changed some euros into bcc so I can manually handle for the time beeing.
Any comments about bcc wallets with trust and why trusting ... welcome


Huge Javascript block icon

I just updated the extension and now the JavaScript icons changed to this huge block of solid bright yellow.

Previously was a much simple and clean one:

I think this was introduced 3 days ago by this PR: #520
@robertohuertasm previously said in this issue (#354) that this icon wouldn't happen and I totally agree with him. This icon catches to much attention in the editor.
What made that change happen? I might use another set of icons, because this icon is very intrusive.

Duplicate of #514.

@brenoc we're releasing the old one again during the week.


fix: token prices and meaningful number formatting

Description
Resolves #481
Fixes unreliable token prices and marketcaps  in token details page and account details -> tokens
Demo
Examples:
account: ak_aeksJqKvh1HD4rSACRjSUGgVe4nEywq6C9VK6VYXwUMezePyH
tokens: ct_KeTvHnhU85vuuQMMZocaiYkPL9tkoavDRT3Jsy47LK2YqLHYb, ct_BwJcRRa7jTAvkpzc2D16tJzHMGCJurtJMUBtyyfGi2QjPuMVv

Checklist:

[x] I have read and followed the Contributing Guide
[x] My change does not require a change to the documentation.

Thank you for your review @janmichek I think I addressed all of the concerns. Let me know if I convinced you to keep it like it is or perhaps you insist on some changes.

The price is still not correct.
Current DEX price:

Current AE price:

So it should be:

but aeScan shows:

@michele-franchi as we agreed on devchat I increased the significant digits for token values. I think it's good enough to push it to production, while the whole formatting issue requires some rethinking and refactoring in scope of https://github.com/aeternity/aescan/issues/484


How to deploy a new module?

I am wondering how to deploy a new module?

The ability to deploy modules is managed by the genesis configuration file on this line:
https://github.com/libra/libra/blob/5ec3f69bae1a15f4ccc67fcdce8d0441b47e2539/language/vm/vm_genesis/genesis/vm_config.toml#L2
You'll need to set type to "Open" before custom modules will be accepted. However, the the CLI tools don't currently have a way craft a module deployment transaction, so unless you hack together something yourself -- we'll have to wait!
In the mean time, I think the easiest way to get started playing around with Move is to create some new *.mvir files here:
https://github.com/libra/libra/tree/master/language/functional_tests/tests/testsuite

The ability to deploy modules is managed by the genesis configuration file on this line:
https://github.com/libra/libra/blob/5ec3f69bae1a15f4ccc67fcdce8d0441b47e2539/language/vm/vm_genesis/genesis/vm_config.toml#L2
You'll need to set type to "Open" before custom modules will be accepted. However, the the CLI tools don't currently have a way craft a module deployment transaction, so unless you hack together something yourself -- we'll have to wait!
In the mean time, I think the easiest way to get started playing around with Move is to create some new *.mvir files here:
https://github.com/libra/libra/tree/master/language/functional_tests/tests/testsuite

This is accurate. Looking forward to making this easier for you soon!

thanks~

How is this not the most important issue to fix in Libra? Why then is it closed?

@vjok I write a command to publish module and script for libra https://github.com/jolestar/libra/tree/hack/client

Any progress on this?

The ability to deploy modules is managed by the genesis configuration file on this line:
https://github.com/libra/libra/blob/5ec3f69bae1a15f4ccc67fcdce8d0441b47e2539/language/vm/vm_genesis/genesis/vm_config.toml#L2
You'll need to set type to "Open" before custom modules will be accepted. However, the the CLI tools don't currently have a way craft a module deployment transaction, so unless you hack together something yourself -- we'll have to wait!
In the mean time, I think the easiest way to get started playing around with Move is to create some new *.mvir files here:
https://github.com/libra/libra/tree/master/language/functional_tests/tests/testsuite

This is accurate. Looking forward to making this easier for you soon!

Any progress on this?


Fix no data bug of oap self observability instance_metrics_second_aggregation metrics.

Please answer these questions before submitting pull request

Why submit this pull request?

[x] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues

Bug fix

Bug description.
Oap self-observability aggregation(Per Minute) chart's meter_instance_metrics_second_aggregation metrics no data.

How to fix?
Add minute dimensionality second aggregation counter.

New feature or improvement

Describe the details and related test reports.

Also, I am not sure what your PR title, where is the bug?

Also, I am not sure what your PR title, where is the bug?

Oap self-observability aggregation(Per Minute) chart's meter_instance_metrics_second_aggregation metrics no data.

@hanahmily I received the confirmed bug like this, UI doesn't show minute level

These are the metrics after this PR changed


[Immediate] Switch immediate mode from MCJIT to LLJIT.

This patch switch's the underlying implementation of Swift's immediate mode from MCJIT to LLJIT.
LLJIT is a simple LLVM IR JIT. Its interface is similar to MCJIT, but its implementation is based on LLVM's newer ORC APIs. This initial patch does not make use of any of LLJIT/ORC's advanced features, but will provide better diagnostics when JIT'd code fails to link. Once LLJIT has proven usable in this basic configuration we can start experimenting with more advanced features, including lazy compilation.

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 7a0754b127b5fdfeaa2461be44265059c1fb162d

We're failing on Linux in runAsMain(...). Best guess off the top of my head is that this is due to runAsMain not setting an envp argument. I'll try fixing that tomorrow.

@swift-ci test windows

Build failed
Swift Test Linux Platform
Git Sha - 17671672ce3b4b994667379f90820427a61c2391

Build failed
Swift Test OS X Platform
Git Sha - 17671672ce3b4b994667379f90820427a61c2391

@swift-ci smoke test

Thanks Duncan!
What’s the bar for merging? Is a pass on the smoke tests enough?

Thanks Duncan!
What’s the bar for merging? Is a pass on the smoke tests enough?

I'm not really the expert for this repo.  Looking above, those are the only two with the "Required" badge.  But it's moot since the smoke test also crashed out with java.io.EOFException and it looks like infrastructure issues again.
@shahmishal , are you comfortable merging this despite the lack of signal?

@swift-ci test

01:13:23.356 Failing Tests (5):
01:13:23.356     Swift(linux-x86_64) :: execution/interpret-with-dependencies-linux.swift
01:13:23.356     Swift(linux-x86_64) :: Interpreter/shebang-env.swift
01:13:23.356     Swift(linux-x86_64) :: Interpreter/unused-type.swift
01:13:23.356     Swift(linux-x86_64) :: Interpreter/fractal.swift
01:13:23.356     Swift(linux-x86_64) :: Interpreter/mandelbrot.swift

Are these expected failures with this change?
https://ci.swift.org/job/swift-PR-Linux-smoke-test/20766/console
We need to make sure these checks are green before merging the change into master branch.

Build failed
Swift Test Linux Platform
Git Sha - 17671672ce3b4b994667379f90820427a61c2391

@swift-ci test

@shahmishal Those tests depended on the LLVM fix in https://github.com/apple/llvm-project/commit/00515155fa1bbf95b6a2eb87217a79fde02881fb . I can’t tell whether that had been merged before those CI tests ran. I’m re-running them now...

@swift-ci smoke test

Build failed
Swift Test Linux Platform
Git Sha - 17671672ce3b4b994667379f90820427a61c2391

rdar://problem/57405697

@lhames - seems that this is causing some problems on Windows due to the import symbol not being setup in the JIT.  IIRC, I had made some changes to the MCJIT to actually synthesize the import symbols which may be missing from LLJIT?  Any idea on that?
https://ci-external.swift.org/job/oss-swift-windows-x86_64-vs2019/322/

Hi Saleem. I’m on the road today, but can take a look tomorrow.
Can you point me to the import symbol synthesis code? On Windows LLJIT should be using RuntimeDyldCOFF, but if the synthesis code is in MCJIT I will just need to replicate that in LLJIT, which should be a relatively quick fix.

@lhames hmm, I'll take a quick glance, but its been far too long (~3 years?) since I added that.  The IAT is similar to the PLT except that it is per module rather than AS-wide.  Each imported symbol has a synthetic symbol __imp_<symbol> that has the pointer to the function.  IIRC, each entry is 32-bits (since even 64-bit programs have limited addressing on Windows).


[draft] Add Weight Visualization

This pull request adds a weight visualization implementation example:

On expanding a compatible node's tensor (with dim >= 2) a weight visualization GUI appears in property side-bar.
To visualize a tensor as a 2d image you need to:

Select axes of the tensor that will be used as x and y of the image (use the checkboxes of "axes selector", exactly two axes should be selected, the first selected axis is (x) and the second is (y)).
Select the values of the other axes that will be fixed with "values selector" - all not selected axes should have a fixed value.
The weights will appear as a 2d heatmap below. Blue color is the minimum value, red color is the maximum value.
For example: you are visualizing a tensor of shape (32, 3, 3, 3).
Let's assume you have selected the 2 lower checkboxes and fixed first axis value as 10 and the second axis value as 1.
So the top left pixel of the image corresponds to tensor[10][1][0][0] value.
The bottom right pixel - tensor[10][1][2][2] value.

@staddy , is this your current change? why I'm asking

I expect property window show new properties (I didn't pull and checked)
when clicked, there will be no feedback in the UI; I don't expect this to be a full working draft

CircleGraph is shared code, as of now, in circle graph view, partition editor and visquv

I don't expect this property be visible in partition editor nor in visquv

What is your user scenario ?

please describe in detail
from opening the folder and ....

@seanshpark, yes, this is what is implemented in the draft.
Property window shows additional property: VisualTensorView.
The implemented UI works as described, the draft is kind of full working if we are talking about visualizing any 2d subarray of a tensor.
Currently the property appears for any suitable tensor, so if the code is shared, I need to implement disabling the feature.
Current scenario:

open a folder with a *.circle file
click on the *.circle file
click on a node that contains 2+d tensors
expand the 2+d tensor properties in property window
the implemented UI appears and functions

I don't see related codes as of now in the change

Currently the code just changes the default behavior of sidebar, adding a new property to any tensor with >= 2 axes.

Should it be a global setting? Or,  ...

@staddy , have you read my comment ? or you don't understand it? please ask if you can't catch the meaning
CircleGraph is shared code, as of now, used in circle graph view, partition editor and visquv
-I  don't expect this property be visible in partition editor nor in visquv

I would like to see this draft provide your full Current scenario:

Now VisualTensorView property is enabled only in circle graph and disabled in partition editor and visquv.
The draft provides full "Current scenario".

Current state:

Added UI to modify scale and swap axes.

@staddy , I've got your change but I can't see the weight bars. Please describe the condition of the model that shows the bar.

@seanshpark, 'weights' a property of some nodes (in this case it's DepthwiseConv2D). Currently the visualizer works for any properties that are tensors of shape [a, b...] (in this case [1, 3, 3, 32]):

So in order to see the visualizer:

we need a *.circle model that contains at least one node with tensor properties like 'weights', 'filter', etc. (Conv2D, for example).
open folder that contains such model
click on the model file in Explorer
click on such node (Conv2D)
in 'Node Properties' panel find 'Inputs' containing the tensor property ('filter' in case of Conv2D)
expand it with + button
the visualizer should appear

Now I can see the bars :)
I've tried with some models and found this:
Model: inception_v3_2018_04_27.tgz
Image is black with this Conv2D

when selected with 0, 3

and when I change 3'rd value black bar disappears

Q) How does the bar graph show when Tensor is 2D, 3D or 5D ?

Q) what is the meaning of the colors ?

@seanshpark, thank you, the bug with black bar is fixed.

Q) How does the bar graph show when Tensor is 2D, 3D or 5D ?

If I understand your question right,

when Tensor is 2D, axes selector and values selector are not shown, all values of the Tensor are rendered as a 2D image
when Tensor is 3D, 4D, 5D ..., axes selector and values selector are shown and user has to select 2 axes with check boxes. The selected axes are used to iterate over (as if Tensor was 2D). For all other axes user has to select fixed values.
For example, we have a 5D Tensor. User has selected 0 and 2 axes (with checkboxes), and selected fixed values 5, 13, 7 for the other 3 axes. So the values used for bar will be tensor[x][5][y][13][7], where x - all integers from 0 to length of axis 0, y - all integers from 0 to length of axis 2. So the resulting image pixel (17, 19) is the value tensor[13][5][19][13][7].

Q) what is the meaning of the colors ?

The lower wavelength, the higher value:

red = 0
green = 0.5
blue = 1.0

'value' is from 0.0 to 1.0:
      value *= 2;
      let blue = Math.round(Math.max(0, 255 * (1.0 - value)));
      let red = Math.round(Math.max(0, 255 * (value - 1.0)));
      let green = 255 - blue - red;

The lower wavelength, the higher value:

thanks for the comment.
maybe some document may help understanding.

If I understand your question right,

Yes I think so :)
I've tried with Add operator with input + constant but failed to see the color bars.
There seems some problem with attaching the files. so below is how to generate them.
If you can, please try
(1) code in Samsung/ONE, res/TensorFlowLiteRecipes/Add_002/test.recipe file
(2) Copy to Add_003 and edit it like
operand {
  name: "ifm1"
  type: FLOAT32
  shape { dim: 128 dim: 128 }
}
operand {
  name: "ifm2"
  type: FLOAT32
  shape { dim: 128 dim: 128 }
  filler {
    tag: "gaussian"
    arg: "0.0"
    arg: "1.0"
  }
}
operand {
  name: "ofm"
  type: FLOAT32
  shape { dim: 128 dim: 128 }
}
operation {
  type: "Add"
  input: "ifm1"
  input: "ifm2"
  output: "ofm"
  add_options {
    activation: NONE
  }
}
input: "ifm1"
output: "ofm"

(3) Copy to Add_004 and change shape to
shape { dim: 128 dim: 2 dim: 2 dim: 2 dim: 128 }

(4) build ONE
./nncc configure
./nncc build

refer https://github.com/Samsung/ONE/blob/master/docs/howto/how-to-build-compiler.md

(5) in build/compiler/common-artifacts folder there should be Add_003.circle and Add_004.circle
(6) open the second input, which should be a constant tensor

failed to see the color bars.
@seanshpark, strange,

check on first axis 127 and last axis 127

check on first axis 127 and last axis 127

@seanshpark, sorry, still can't reproduce (though currently the width of text input is not enough to show 3 digits - so it's 12 instead of 127 on the screenshots):

Have you pulled my last fix (https://github.com/Samsung/ONE-vscode/pull/1492/commits/f6195354dd401eb340774b65aba89bb6bf377b7b)?

Have you pulled my last fix

Latest commit is work OK :)

Docs are ready:
https://github.com/staddy/ONE-vscode/blob/visualization-draft/docs/VisualTensorView.md

Docs are ready:

Thanks for the document!
As there are lots of image files, how about move them into new docs/images folder ?
Existing images maybe moved later.

@seanshpark, done

Code looks good to me (not sure for others)
Can you please post to 3 PRs? (1) media files (2) src files and (3) doc files.

@seanshpark, done:
VisualTensorView implementation (disabled by default):
https://github.com/Samsung/ONE-vscode/pull/1502
Enable VisualTensorView for Circle Graph only:
https://github.com/Samsung/ONE-vscode/pull/1503
Documentation:
https://github.com/Samsung/ONE-vscode/pull/1504


Remove Admin+Godmode from Development Servers

Why?
We don't need the two useless Godmode and Admin checkboxes anymore. They were deprecated in 2017. Instead of getting reports of those options not saving, why don't we remove them?

@AndrewJakubowicz, is there any changes I should make?

@Chaboi45 , do we need this PR to be merged or is this resolved already?

@mrfinch I think recently they reenabled the use of GodMode for online instructors. To be safe, I will close this and create a different PR just removing godmode/admin checkboxes for Development(Non-productionn) servers.


Mobile Platform Compatibility

Expected Behaviour
The sandbox caters to help mobile developers build extensions, rules, data elements and other launch entities that are unique to the mobile platform.
Actual Behaviour
The sandbox is mostly driven by a web or edge experience.
The following are some examples of mobile incompatibilities (including but not limited to)
Rule Building

Page Top and Click are offered as events
'Log Event Info' is offered as an action

Saving a rule appears to assume either the edge or web schemas:
Cannot read property 'transforms' of undefined
Data Elements

Local Storage and JavaScript Variable are offered as types

Reproduce Scenario (including but not limited to)
Git clone https://github.com/adobe/reactor-mobile-examples/tree/master/weather-extension
Update the Reactor Sandbox lib to 11.x
Run the sandbox
Steps to Reproduce
Run the sandbox and view some of the defaults offered to a mobile extension.
Try to build and save a rule and observe the Cannot read property 'transforms' of undefined error.
Sample Code that illustrates the problem

@adobe export issue to Jira project PDCL as Bug


feat(generic): add Skip

What?
add Skip
https://laravel.com/docs/9.x/collections#method-skip
Why?
It's on the todo list
How?
using slices

Codecov Report
Base: 97.94% // Head: 97.95% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (252b7cf) compared to base (5849d60).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #71      +/-   ##
==========================================
+ Coverage   97.94%   97.95%   +0.01%
==========================================
  Files           7        7
  Lines         975      980       +5
==========================================
+ Hits          955      960       +5
  Misses         14       14
  Partials        6        6

Impacted Files
Coverage Δ

generic.go
100.00% <100.00%> (ø)

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

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


feat: support global type overrides

Describe the PR
When using generated files (such as from sqlboiler) we encountered a situation where we wanted to override a type (e.g. have null.String, a struct with custom json marshal/unmarshalers, show up in the swagger docs as string instead of as a struct with a string and a bool) but could not use the swaggertype struct tag overrides, as sqlboiler does not allow you to customize those on a per-type basis.
This PR adds a global "overrides file" where you can specify a mapping of what type is actually used in the code, and what type (basic or otherwise) you'd like it to render as in the generated docs.
Please let me know if you think there are any changes that should be made!
Relation issue
https://github.com/swaggo/swag/issues/985 seems related
Additional context
The solution to our problem seemed to be either modifying sqlboiler to allow it to insert custom tags on a per-type basis (e.g. add a swaggertype:"string" tag whenever it generated a struct with a null.String) or to modify swaggo to be able to do replacements without the struct tag; this seemed like it was probably more broadly useful because it may help with other generators than just sqlboiler.

@ian-fox, is there any PR regarding this issue? I'm asking this because we appreciate everyone's effort to write a PR, but sometimes it is safer to validate the solution before writing the implementation.

There is not, I figured it was small enough that is write it up, learn something in the process, and if it wasn't accepted then that's fine because it didn't take too long anyway.
If there are any changes you'd suggest I'm happy to make them, and if it's just a poor design that you'd rather not accept that's also totally fine.

@ian-fox the ability to replace the definitions without touching the source code sound good to me.
Somehow an attempt to solve this issue was partially solved by introducing "swaggerype" a long time ago.
I'm thinking it would be nice to have a simple dot file in the same way git has".gitingore". YAML/TOML is too heavy (the libraries are not light at all and it will introduce additional unwanted dependencies) and JSON is not so user-friendly when it comes to editing.
Eventually, we can add at a later time the ability to control the flow like cmd params do, without the need to update the CI pipeline.
Example swag dot file (.swag)
// replace a defintion
replace database/sql.NullInt64 int64

// skip parsing a package
skip github.com/grpc/grpc-go

Sounds good to me! I'll go add those changes 😄

I think all the issues with the tests and static analysis should be fixed now.

I'm thinking it's easier to finish the code changes first and after that, you can take care of the code coverage.

Can you please fix the failing tests?

Yep. Sorry about that, was counting on CI to run the monkey-patch related ones because monkey does not work on my computer.

We need to keep compatible with older GO versions.
gen/gen_test.go:7:2: package io/fs is not in GOROOT (/opt/hostedtoolcache/go/1.15.15/x64/src/io/fs)

try simply return errors.New("file does not exist");

Thank you for all your help!

@ian-fox Thanks for your contribution.
You're wellcome.


SDK commands for Go operators should only run in Go type projects

The following SDK commands are only relevant to a Go type project and should not run in another project type like Ansible(or Helm in the future).

operator-sdk add api ...
operator-sdk add controller ...
operator-sdk generate k8s

We need to consider the use case of transitioning from a pure Ansible type project to a hybrid or Go type project before we restrict these commands from running in an ansible type project.

I was thinking that the steps for transition are:

In Go path.
drop cmd/manager/main.go on disk (this will need to be the correct main.go though maybe there is enough overlap between helm and ansible here that we can make this really easy and only 1 file?).
add/change dockerfile to incorporate the binary
dependencies for golang.

All of these are steps I could document today and we would have a transition path, before or after operator-sdk add api is called. Maybe it makes sense that we have to do these steps before you can call these? I am torn here because I could see myself creating the API and then doing the main file bits etc..., but on another hand sometimes taking away options just leads to fewer bugs.
I think either way the above commands must be in the gopath is that correct?

A combination of good transition/hybrid documentation and strict checks/plenty of warnings on CLI usage should be enough.
Instead of thinking of all the ways a user can combine operator types, we should be opinionated about how they should be combined, and to what extent combination is allowable. For example, what parts of an Ansible project can be customized with Go, and what cannot?
If we want to allow hybrid projects, we need to reconsider how OperatorType is used since type checks are currently exclusive. I suggest we implement a bitfield.

Hi all.  I'm an experienced programmer and also experienced with Kubernetes, but operators and golang are both new to me.
I'm in the process of developing a hybrid operator.  I'm doing this by generating a Helm operator and then using the migrate command as I want the operator to depend on Helm templates for installs/uninstalls but write my own logic for anything outside of that.
I can keep a running log of things I run/have ran into in this process and then provide some feedback in this ticket if you'd like?   I think I'm mostly just running into small things here and there that you probably wouldn't even notice or seem obvious to work around being that you are experienced with developing the operator-sdk and golang itself if that makes sense?
One of the small problems I'm currently running into I'll probably end-up submitting a patch for just so I can keep moving forward.

@devnulled This is great timing actually. Yesterday, I opened #1186 for discussion about how to prepare the Helm and Ansible operator code for a v1.0.0 release of the SDK. The primary discussion point for that will be how we support hybrid operators.
We will likely be unexporting some of our existing packages/types/functions so that we have more flexibility to implement new features without dealing with backwards compatibility guarantees. However, we want to make sure we leave enough of the operator internals exposed to make hybrid operators useful.
I'd definitely be interested in understanding more about your hybrid operator and the issues you've been running into. Definitely don't hesitate to comment here with your issues. Even if they seem minor to you, it's likely others have run into similar things. The more we know about how people are using hybrid operators, the better we'll be able to support them.

I think whatever problems I was having were somehow environment related, or maybe my dep cache being corrupted, not sure.  I eventually ended-up clearing out dep, updating the operator-sdk again, regenerating a project, and then converting it to a hybrid one again and it worked just fine.  I wanted to make sure I wasn't doing something wrong before commenting here again and glad I did.  So the issues I had were self-inflicted.
I can give you some feedback on how I conceptually plan to use them if that's helpful?  I know you are looking more for things about the API should be itself, but I'm just not that far along with building one yet at the moment.
Here's my own use case for why I prefer (at least conceptually) to create hybrid operators based on Helm operators:
As I see it, Helm seems to be the defacto package manager for Kubernetes at this point.  Along those lines, I'd rather depend on community-developed Helm packages for software when possible and be able to contribute back to them as well (which I've done a couple of times) vs building the YAML by hand in a standard operator.  I like that Helm basically handles all of the templating of YAML and has its own tools for debugging charts/YAML.
When you build an operator by hand with operator SDK, you end up with a whole bunch of statically compiled code that essentially represents configuration.  In my opinion, that is a pretty hard thing to try and debug, and something that probably changes quite a bit until a given piece of software has matured.  Also, when the Kubernetes API is updated, it seems like it would be a big pain point to have to update all that static code.  I'm just especially not a fan of having what are essentially configuration templates as generated and staticly compiled code.
Depending on Helm templates allows you to still have the option to deploy a service manually or via scripts if needed rather than having to debug an operator in real time if you have some sort of fire in production.  You can also depend on other helm charts as well; An example would be Kafka depending on Zookeeper.  I mentioned it before, but you have the facilities of Helm available to debug the charts/YAML.  That allows you to leave your operator to focus on functionality that is specific to your service.
So to me, an operator that uses a Helm chart to manage config/versioning/installs of services and is left mostly to bake stuff on top of that to monitor/fix/tune/maintain/ and scale up/down said service is a big win.
I'm in the process of building an operator around automatically managing a database platform to deal with the problems running them in the cloud presents.  IE, monitoring for outages or performance problems and taking action.
The main use case I'll be tackling first is to automate the work required to fix pods in statefulsets if a node gets terminated and replaced with another one (the pod won't get rescheduled by k8s because of the way it works with statefulsets).  So having to manually kill a pod in a statefulset if a node dies, do something with it's PVC, start up a new pod, any process that needs to run to move data again, deal with mounting local storage, join a cluster again, etc.

/remove-lifecycle stale
Still relevant.

/lifecycle frozen

@devnulled  your comment
https://github.com/operator-framework/operator-sdk/issues/670#issuecomment-475788962
really resonates, I know its an old post but wondering if you had pursued your hybrid approach and might have some more insight

@huizengaJoe I'm no longer working at the company where I was working on that solution, and it's been some time since I was there.  Something I will likely end-up digging back into within the next year or so, I think.


[HUDI-2471] Add support ignoring case in merge into

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
Add support ignoring case when column name matches in merge into
Brief change log
(for example:)

Add support ignoring case when column name matches in merge into

Verify this pull request
(example:)

Added unit test in TestMergeIntoTable2

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@hudi-bot azure run

@hudi-bot run azure


all config

Description
i would like to have all rules enabled by default, so i can explicitly disable the ones i don't want. this would make it easier to discover new rules when i update my version of eslint-plugin-svelte

since it would be annoying to have to maintain another list of all rules, you could generate it dynamically like i did with my eslint plugin: https://github.com/DetachHead/eslint-plugin-detachhead/blob/15a09f881fc6518b66b9da1bcbdccdfc67ef99d0/src/index.ts

Duplicate of #369.
I welcome PR!


Remove anchor to deleted section in review guidelines page

Bonus fix: typo.

r? @magopian @atsay

Quotation marks are outside the comma and period for the latter two items in the list because they are part of the sentence. Quotation marks inside the comma for the first item because the exclamation point belongs to the word before it, as a unit. I'm ok with changing the example to not have an exclamation point, if it makes the grammar of the guideline easier to understand.

Ok. This can probably be merged now.

Thanks @wagnerand ! r+