Question: how to find the end of the current cron "validity interval"?

Challenge description
I'm using the cron syntax not only as an indicator for several points in time but as a duration as well.
E.g. I interpret (and check via match?(Time.now)) the following as:
'10-40 22 * * mon-fri' indicates "every Monday till Friday between 22:10 and 22:40".
'* 0 * * mon' indicates "every Monday between 00:00 and 00:59".
'* 8 * * *' indicates "every day between 08:00 and 08:59".
...you get the idea. ;)
Works fine so far, but instead of finding the time when the next "interval" will start I need to find (if in an active interval) when it will end.
E.g. if current time was 2020-11-01 08:32:02, this interval
'* 8 * * *' should return a time of 2020-11-01 08:59:59 (or even 2020-11-01 09:00:00).
Do you think that's possible? Any ideas appreciated! :)

Hello,
@gr8bit wrote:

E.g. if current time was 2020-11-01 08:32:02, this interval
'* 8 * * *' should return a time of 2020-11-01 08:59:59 (or even 2020-11-01 09:00:00).

I am not sure I follow you on that one. * 8 * * * maps to 08:00:00, 08:01:00, 08:02:00, ... , 08:59:00.
Maybe something like
require 'fugit'

c = Fugit::Cron.parse('* 8 * * *')

MAXD = 366 * 24 * 3600 # 1 year

ds = []

t0 = Time.now
t = t0
t1 = nil
  #
loop do
  t = c.next_time(t)
  ds << [ t.to_s, t - t1 ] if t1
  t1 = t
  break if t > t0 + MAXD
end

#ds.each do |d|
#  p d
#end

longest = ds.collect { |t, d| d }.max
  # only pick the longest :-( ...

p [ :start, ds.first ]
p [ :end, ds.last ]
p [ :longest, longest ]

intervals =
  ds.inject([]) { |a, d|
    a << [] if a.empty? || d[1] == longest
    if a.last.empty?
      a.last << d
    else
      a.last[1] = d
    end
    a }

intervals.each do |i|
  p i
end

Closing the issue but not the conversation.

@gr8bit Are you a friend of the OP in #44 ?

Thanks a lot for the comment! I will look into it right after my answer.

E.g. if current time was 2020-11-01 08:32:02, this interval
'* 8 * * *' should return a time of 2020-11-01 08:59:59 (or even 2020-11-01 09:00:00).

I am not sure I follow you on that one. * 8 * * * maps to 08:00:00, 08:01:00, 08:02:00, ... , 08:59:00.

That's right, it maps to the times you stated - so if I use match? when the current time is between 08:00:00 and even 08:59:59, it will return true. From 09:00:00 on, it will again return false until it will be 8:00h again. If I understand correctly, the next_time method will point to the next day at 8:00:00 in our example.
What I need is, when match? is true, the next_end_time of the "interval" I'm in. (I'm always quoting interval to indicate I'm aware cron notation is not for intervals ;)).

@gr8bit Are you a friend of the OP in #44 ?

No, I don't know him but I seems he had a quite similar use case. 😄

Aaahhh, I think I understood next_time wrong - it returns the next minute the cron would run at. If in an "interval" it would just be the next minute. That's why you loop (although I'm not sure why MAXD is 366 * 24 * 3600 and not 366 * 24 * 60 - we have only minute (not second) precision, don't we?

@gr8bit wrote:

What I need is, when match? is true, the next_end_time of the "interval" I'm in. (I'm always quoting interval to indicate I'm aware cron notation is not for intervals ;)).

I am sorry but the Fugit::Cron#match?(time) method is point based. But nothing prevents you building your own abstraction on top of it that determines given a cron string what are the intervals and has its own #match?(time). As you have seen in my code example, my routine said "let's consider that the longest delta is the delta between two intervals". There isn't much in the cron strings that says that and Fugit::Cron is for cron string, not for time intervals.

@gr8bit wrote:

although I'm not sure why MAXD is 366 * 24 * 3600 and not 366 * 24 * 60 - we have only minute (not second) precision, don't we?

MAXD is one year, because "0 0 1 1 *" happens once per year. I could have gone further to accept "0 0 29 2 " which happens usually every four years... I was trying to accept not just your example " 8 * * *" but other cron strings. I wanted to generalize a bit...

What a great library. I think I have a very quick way to determine the end of the interval. I'll post code here once it's done. :) Thank you so much for the kind help!!

I think I got it. Comments please! :)
At first I've added a simple "change and clone" method to EoTime, I hope you don't mind.
module EtOrbi
  class EoTime

    def change(options = {})
      EtOrbi.make_time '%04d-%02d-%02dT%02d:%02d:%02d.%d%s' % [
        options[:year] || year,
        options[:month] || month,
        options[:day] || day,
        options[:hour] || hour,
        options[:min] || min,
        options[:sec] || sec,
        options[:usec] || usec,
        strfz('%:z')
      ]
    end

  end
end

And the main code for Fugit::Cron:
module Fugit
  class Cron

    ATTRS = {
      %i[seconds sec] => [0, 60, 1],
      %i[minutes min] => [0, 60, 60],
      %i[hours hour] => [0, 24, 60 * 60],
      %i[monthdays day] => [1, 31, 24 * 60 * 60],
      %i[weekdays day] => [nil, 31, 24 * 60 * 60],
      %i[months month] => [1, 12, nil]
    }.freeze

    def interval_end_time(from = ::EtOrbi::EoTime.now)
      return unless match?(from)

      # clone date and eliminate fractional seconds at once
      # @type till [EtOrbi::EoTime]
      till = ::EtOrbi.make_time(from.iso8601)
      # @type copy [Fugit::Cron]
      copy = self.class.new(original)

      changes = {}
      key, (_, incrs, secs) =
        ATTRS.detect do |(cron_attr, eo_attr), (default)|
          next true unless instance_variable_get("@#{cron_attr}").nil?

          changes[eo_attr] = default if default
          copy.instance_variable_set("@#{cron_attr}", default && [default])
          false
        end
      return unless key
      till = till.change(changes)

      incrs.times do
        till =
          if secs
            till.inc(secs)
          else
            # as months don't have the same amount of seconds, increase it differently
            till.change(month: till.month % 12 + 1, year: till.month % 12 == 0 ? till.year + 1 : nil)
          end
        break unless copy.match?(till)
      end

      till
    end

  end
end

It works like this: I need to sample future times until the first point in time the cron does not match. That point in time would be the end of the "interval" I'm in.
I can't sample all seconds of a year though and I don't need to - in fact, I can decrease the precision from seconds to minutes if all seconds match (=are set as "*"). Same goes for minutes to hours, hours to days and days to months.
So, from seconds up to months, I find the first field that's not "" (nil in the cron object). That's my precision I want to test against. All "" until the first non-"*" are set tho their respective "first value" (0 for seconds, minutes, hours, 1 for days and months, nil for weekday as that one is special).
I need to test one loop cycle of the found property only as it would equal "" if it included the whole cycle (I do not explicitly check that though). Each iteration I increment my time object by the fields unit (second or minute or day etc.). So I'll need 60 loops at maximum  if someone set something like " 1-59 * * * ". Even " 30-29 * * * *" is possible that way. The first loop iteration that doesn't match marks the end time which I wanted to find.
 ;)

Well done!
I am not sure about your use case, but I think that if I needed that, I'd wrap it in its own library, a library that uses fugit, not a fugit augmentation. After all, you might decide later on that you want to parse different interval representations like "0800-0900,1500-1600" with which fugit has no business. Your tool would use fugit when presented with a cron string and some other lib if necessary for other interval representations. Really, fugit is about point in times, not intervals.
Gute Nacht!

Thanks and good point. Initially, my code used many more of the internals of Fugit::Cron than it does now. However, I rely on internal method names (for instance_variable_set especially), that's why I left it as augmenting code for now (also, because I never intend to change it but we both know: never say never when it comes to software development ;)).
If you're interested in my use case: for a small custom shop (for a game to be precise), a recurring sales events feature was asked for by the game designer. While thinking about an own implementation the similarities to the cron syntax became more and more obvious (ability to select weekdays for recurrence, "every X days" etc.). So I figured if I did not "sample" the cron definition by the minute (like classic cron does) it would also be well suited for defining "a time pattern matching definition which you can match any point in time against and it will tell you if it matches or not". So there was my "is this offer active?"-method.
When an offer came out as active for a certain point in time, I needed to know how long it would consecutively stay active as well - simply to show the user when this offer will end. That's where this issue's functionality came in. As the highest precision is "seconds", the brute force method would be to sample second by second until one came out as false, which would then be the end of the current "active interval". As you know, the code above is basically that except it's optimized to sample the lowest used precision.
With your hash and modulo extensions in place, this is close to game designer marketing heaven. ;) I might even think about allowing more than one cron definition per offer so multiple time ranges like 08:00h-09:00h, 15:30h-16:40h would easily be possible.
Thanks a lot again for the quick and helpful replies! You rock!

@gr8bit thanks for sharing your use case, such pieces of information yield so much learning!


problem-3.md

_includes/01-name.md

This is an  header, which is the largest
This is an  header
This is an  header, which is the smallest


Bower package does not have minified version

Looks like the bower package does not have every file that's in the repo. Including the minified version.

+1

I've just emailed Luis. Just searched and discovered that we can bower install from git repos. So you can use:
bower install https://github.com/Ciul/angular-facebook
bower install --save https://github.com/Ciul/angular-facebook
Worked!


Autoclonetype2

Fixes #1803 (by coincidence as far as I can tell)
I need to benchmark but this should make elaboration much faster for designs with lots of Bundles.
Note that the diff is larger than it really is, I split ChiselPlugin.scala into 2 files. I did not make any changes to the ChiselComponent (which is really the NamingComponent). The bulk of my changes are in BundleComponent. I originally named it AutoCloneTypeComponent but I realized that it's not too big of an extension on this work to make the plugin also implement val elements in Bundles as well as solve the "Field problem". I almost did the latter, but it has some potential consequences that make me think it should be done on a major version boundary and I'd like to include this in v3.4.3. If we also implement val elements in the plugin, then there is no more runtime reflection necessary in Chisel.
Note the 2 new soft links in no-plugin-tests, reflective autoclonetype will continue being tested with all of the old tests. Those tests also apply to the new implementation along with some new tests I added.
I did add an assertion to reflective autoclonetype with the purpose of checking whether the plugin-generated version is actually in use. The cost of this assertion should be basically free compared to reflection; furthermore, users should use the plugin anyway for a massive performance improvement (to be measured).
Contributor Checklist

[x] Did you add Scaladoc to every public function/method?
[x] Did you add at least one test demonstrating the PR?
[x] Did you delete any extraneous printlns/debugging code?
[x] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[x] Did you state the API impact?
[x] Did you specify the code generation impact?
[x] Did you request a desired merge strategy?
[x] Did you add text to be included in the Release Notes for this change?

Type of Improvement

bug fix
performance improvement (no more collecting stack traces for every created bundle!)
code refactoring  (the plugin is a bit opaque, it is much clearer than the reflective version)

API Impact
This expands the autoclonetype API to support Bundles with parameters that are not vals. It also
Backend Code Generation Impact
No impact
Desired Merge Strategy

Rebase (I'd like to keep the 3 commits)

Release Notes

Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (3.2.x, 3.3.x, 3.4.0, 3.5.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

For the record, I think the CI failure is unrelated. The test appears to be failing on master, it might be due to a change in FIRRTL. I'll debug soonish but may not be able to get to it till early next week.

Looks stellar! Great job, this is very exciting and will have enormous impact on runtimes of large designs. Very exciting!!!

New TODO. I'd still like to backport this to 3.4.x, but I have realized (by lucky accident) that this PR currently is not binary compatible. It's not that it changes any APIs and it doesn't (or at least, shouldn't), but it turns out that implementing cloneType on a non-final Bundle is not binary compatible. This is due to the fact that any Bundles that extend your Bundle may have been relying on reflective autoclonetype are now calling your method which will result in a runtime error. Because this generates a bunch of cloneTypes (well _cloneTypeImpl but the exact same idea applies), this would be a problem for anyone extending any Bundles in chisel3.util, for example, rocket-chip.
The solution that allows users to still benefit from this without having a binary incompatible change in 3.4.3 is to make this behavior optional via an argument to the plugin, off by default. This Chisel itself will not use the feature in this PR which can be backported, and then will use it on master looking toward 3.5.

This Chisel itself will not use the feature in this PR which can be backported, and then will use it on master looking toward 3.5.

The implication being that users of this chisel can turn the plugin on for their code, and still link against the 3.4.x Chisel compiled with this bit of the plugin turned off, right?

The implication being that users of this chisel can turn the plugin on for their code, and still link against the 3.4.x Chisel compiled with this bit of the plugin turned off, right?

Exactly, Chisel itself will remain binary compatible, anyone who wants to write a binary compatible library should keep this feature disabled, but anyone who wants the performance benefit in their own code can turn it on.

Feedback resolved and new option added so that this feature is opt-in rather than opt-out (for Chisel 3.4.x). It is not used by chisel3 itself yet, and the binary and source compatibility issue related to this is now tested.
I intend to merge this shortly and let it backport, and then create a follow on PR for Chisel 3.5 that uses the plugin, perhaps changing the option to opt-out rather than opt-in.


Fix typo in docstrings

Fix issue found during #5665.

LGTM!

@okuta This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?


get_simple_path() navigates to unconnected navmesh

Godot version:
3.2 stable
Issue description:
get_simple_path will navigate to a navmesh very far away, and cause the node navigating to go outside the current navmesh. I'm trying to have each node linger about it's dedicated island, but they keep navigating crazy paths. Here's an example
You can see one of the black dots (which are the nodes doing the navigation) navigate across navmeshes, doing a crazy long path, going outside the bounds of the navmesh, to a relatively close point inside the intended navmesh "island".
Even if I surround each island with other tiles, creating one large navmesh, it still does crazy paths: Example of this
A simple fix for this issue would be allowing the user to specify what navmesh the node is allowed to navigate on in the get_simple_path() function.
Steps to reproduce:
Create separate islands with a tilemap navmesh (different tiles per island), place several nodes who have a simple script creating paths and following them, but only tell the nodes to navigate to random tiles of the type they are dedicated to. In order to navigate to a tile inside their current tilemap, a path is generated to another island navmesh and back.

Note that Godot 4.0 will feature a new NavigationServer which likely solves this issue.

I believe this is caused by Navigation2D::get_simple_path using Geometry::is_point_in_triangle, which returns false for points on the edges of triangles, causing endpoints that intersect with triangle edges to be counted as "outside the mesh", causing weird snapping issues.

@Calinou
@akien-mga
This weird pathfing issue was for the old 2D navigation before 3.5 and is no longer valid.
In Godot 4.0 and 3.5 the 2D navigation uses the same navigationmesh based pathfinding as 3D behind the scene. As long as the NavigationPolygon is created correctly this pathfinding issue no longer happens. In fact the 2D paths have the same path optimization as 3D now.


Accumulo tablets are getting out of sync with metadata

We are finding a good number of tablets in separate tservers that are getting stuck in the state where the files differ.  The commonality between these are that the accumulo metadata references an F file (minor compaction file) that is not in the "in-memory" list of files.  Once the tablet gets into this state it appears to be stuck in that state.  The F files are always relatively small (400-500 bytes).
Accumulo 2.1.1-SNAPSHOT
CentOS 7.3

For the 12 tablets that got out of sync, they all were for the same table (lets call it table X) and the metadata for all of them were from the same accumulo metadata tablet.  Also they all started complaining about the error at about the same time.  So this suggests that this bad state has to do more with the accumulo metdata tablet that was handling all of the table X tablets at the time.  No errors were found in the previous 30 minutes on either the tserver handling the metadata tablet, or in the tservers handling the tablets for table X.

@ivakegg  - Are you able to give us an example of the wording of the log message? There are a couple of different places where these checks occur, with slightly different wording.

I think it was in the same check-loop that was changed to prevent the check from killing the tserver

I think it was in the same check-loop that was changed to prevent the check from killing the tserver

This doesn't mean anything to me.

The code that was modified in https://github.com/apache/accumulo/pull/3366.  Now instead of killing the tserver it is logging that the contents of the tserver memory and the metadata table do not match.

That loop seems like it could over-warn considering that it grabs all of the tablet metadata first, then checks each tablet. By the time it gets to a Tablet, its metadata could have changed.  The fact that the tablets seems stuck in this state is concerning. @ivakegg - could you confirm via scanning the metadata table in the shell that the minor compaction file is listed in the tablet metadata for one of the 12 tablets? Then, on the tserver for this tablet, what is in the log for the F file? Did it get compacted away?

If I recall from what he showed me - the file does not get compacted away.  It seems that

The tablet had ingest and a flush is triggered
The metadata is updated with the flush F file
The tserver in-memory cache is not updated
Then after some period, the check gets scheduled an runs - sees that the metadata and the in-memory cache do not match, it now prints the issue and then keeps repeating for every check.

@ivakegg - please correct this if I have the details misrepresented.

@ivakegg - do you know if the tablet in question split around the same time?

FWIW, I did grep -m 1 'differ from in-memory'  across all tserver logs and noted the earliest occurrence that I could find. Then I grepped across all tserver logs again to find all 'Starting split' log messages associated with that tablet, but found none at all for that one

I can confirm what Ed stated.

I opened #3392 while looking into this. I noticed a race condition in the code and #3392 fixes that.  I don't think #3392 fixes what we are seeing here.  If a false positive did trigger because of the race condition fixed in #3392 I think it would be transient, so would not see the same file reported on the next check.  The fix in #3392 moves the increment of the start counter to before the metadata table update, it was before the walog update but not the metadata table update (the increment just needed to move up a bit further).

Related comment thread here

It appears in all cases it was either a MinC file (F*****.rf) or a bulk load file (I******.rf) that is present in the metadata table, but not in the tserver memory.  There are three F files from one table that were all generated at the same time on the same day and one I file from a different table.   So this is happening across multiple tables and multiple tservers. It seems to always be the same tables and the same files referenced in the logs.
I do not see any messages regarding splits on the metadata table or the individual tsevers hosting the tablets referencing a discrepancy.  I also do not see any time outs for connections or scans around the time these warnings are generate.

Another potential cause that would be good to rule is something odd happening with the serialization/deserialization/hashCode/equals.  Roughly the following is happening

A StoredTabletFile object is created and saved to the metadata table and stored in memory
Later the code reads a string from the metadata table, use that string to create a new StoredTabletFile object.  Then it compares the new object created from the metadata table with created earlier and stored in a set or map.

If we can rule out that something is going wrong with the desieralization and/op comparison of these objects that would be useful.  One possible was to do this is to look for the same file that is translated to a slightly different string in the logs at diff times, for the files involved in the messages that is.

@keith-turner - regarding StoredTabletFile - https://github.com/apache/accumulo/issues/2830
@cawaring - You didn't see any messages like this ?

@cawaring - You didn't see any messages like this ?

Looking at the referenced code, we do not do the recursive check for an error when the top level exception is not an error.  So if an exception wraps an error it will not halt.

@cawaring - You didn't see any messages like this ?

Looking at the referenced code, we do not do the recursive check for an error when the top level exception is not an error. So if an exception wraps an error it will not halt.

Correct. However, if an exception was raised in the minc thread and was uncaught, as you suggested earlier, then there should be an ERROR message in the log with the stack trace.

Correct. However, if an exception was raised in the minc thread and was uncaught, as you suggested earlier, then there should be an ERROR message in the log with the stack trace.

Yeah, hopefully there are two.  One from the uncaught handler and one from the minc code.  I am going to make a quick draft PR to change the uncaught handler.

BTW, we have seen this same situation occur for bulk import files where the metadata contains the "I" files but the tserver's memory does not.

As an aside, this Error seems like it shouldn't be there:

Yeah that catching of error is suspect.

I found others, I created #3395

Created #3396 to modify the behavior of the uncaught exception handler

I do not see those messages in the logs

I'm trying to sum up the status of this issue. It looks like #3392 and #3396 probably fixed it, but we are waiting on confirmation from the reporter that this is no longer happening after the patches are applied. Based on that, I'm closing this for now, but feel free to reopen it if I've misunderstood the status, or if the issue continues occurring with these patches. If you do re-open, please provide the git commit of the SNAPSHOT you're using (a good idea whenever you open a ticket specifying a SNAPSHOT version is being used).


Reference global.XMLHttpRequest directly so XMLHttpRequest can be mocked

check for the existence of global.XMLHttpRequest directly
reference global.XMLHttpRequest constructor instead of the constructor
that was dereferenced when the library was first parsed
reference global.XMLHttpRequest status properties directly instead of
the properties of the prototype of the constructor that was dereferenced
when the library was first parsed

This will allow mocking libraries that rely on being able to replace
the reference to global.XMLHttpRequest with a mock XMLHttpRequest object
that can be programmatically manipulated.
Such libraries include the jasmine-ajax plugin. I'm sure there are
others.
It's a little more typing, but it fixes a big bug.

+1


Using numpy.vectorize instead of for loops for a better code

https://github.com/einsteinpy/einsteinpy/blob/master/src/einsteinpy/utils/coord_transforms.py#L199-L204
For loop can be replaced by np.vectorize by vectorizing the functions used in the for loop

I doubt the vectorize method is going to produce a better performance. It's merely put there for convenience - check out at the docs .

Hi @m0hdas ! Thanks for pointing that out! But I think I will still prefer np.vectorize for a simple benefit: Better Code at EinsteinPy end! As, at last we are anyways going to @jit most of the functions. It will be better if we really get into numpy ecosystem.

And as you pointed it out, I am removing the label!

Is anyone working on this? If not, could I give it a shot?

Is anyone working on this? If not, could I give it a shot?

Thanks for your interest. Kindly go ahead with the problem.
Similar snippet is also implemented in another utility file : https://github.com/einsteinpy/einsteinpy/blob/master/src/einsteinpy/utils/bl_coord_transforms.py#L224-L228 .

Yes, working on it. Will create PR soon.


Añadiendo el dominio unal.edu.co y el dominio ibero.edu.co

Añadiendo el dominio de la universidad nacional de colombia unal.edu.co y el dominio de la corporacion universitaria iberoamericana ibero.edu.co

@Listener9629 I am sorry, the domain ibero.edu.co is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


feat(settings): Encrypt credentials

Encrypt users credentials.
It softly transitions existing (unencrypted) credentials transparently to the user.
It removes the e-mail & password fields from the settings & instead adds an option to switch accounts.

Maybe @hawkeyexp could also have a look on this.


Reading from atomic types with Consume ordering

Since the exact definition of "consume" is still somewhat vague, this must be explicitly enabled with the "atomic_consume" Cargo feature.

I'm torn on this change, but slightly prefer to postpone it.
First of all, I think that consume loads, or any kind of dependency-carrying loads, is really helpful for performance.  RCU already exploits it, and its implication is critical at least for ARM.  The proposed change will work for almost all major architectures.
However, the change is not portable.  As you said, there is not yet an agreed-upon definition of consume, and for this reason, consume is temporarily discouraged by the C++ committee.  We can mimic the behavior with compiler fences as you did, but it is agnostic to the underlying architectures and is not very portable.  So for the current time being, I think it's best to implement dependency-carrying loads in the architecture level.

Even if the exact definition isn't fully agreed, there is a lot of code which relies on dependency ordering "in the wild" and it is extremely unlikely that LLVM will break such code.
Note that unless you specifically opt into the Cargo feature, load_consume will be compiled down to a simple load(Acquire), so this is still relatively safe.

Two questions:

Would it be useful to have methods like swap_consume and compare_and_set_consume, too?

Do we need the atomic_consume flag? In other words, in what situations would someone call the load_consume() method, but disable the load_consume feature?

@jeehoonkang
While the consume ordering is not fully specified yet, it can still be useful to some users. Presumably if someone is calling .load_consume(), surely they must know what they're doing and that this particular ordering is still a controversial matter.
It is true that .load_consume() can be misused, but it cannot be misused accidentally. It's not like someone would be easily tempted to change an Acquire ordering for Consume - you have to actually import the AtomicConsume trait and then change load to load_explicit.

We could, but these aren't too useful in practice. The main use case for consume is to be able to read atomic data using normal load instructions and without needed any memory barrier instructions. The benefit is much less for RMW operations.

My plan is to go through all of crossbeam and replace all load(Acquire) with load_consume where I can. However I understand that this may make certain people uncomfortable since the theoretical correctness of the algorithms is only proven with acquire, not consume.

What if we implement the consume ordering as a compiler fence on ARM targets (with #[cfg(...)]), and fall back to Acquire on all other targets?
Then the portability concerns are resolved, we don't need the load_consume feature, and everything is much simpler. Or is there something I'm missing?

I'm OK with making this ARM-only. Do we still want to keep the Cargo feature in that case?

@Amanieu If you're concerned with objections to replacing acquire loads in crossbeam crates with consume loads, I'd like to say I'll up for it.  Because in computer science, theory usually comes after practice..
The semantics of consume is unfortunately not yet crystal clear, but for some use cases there are some agreed-upon behavior.  Maybe this change is for that use cases.  After a few days of thought, I became up for it.
Yet I'm still concerned with portability.  While compiler_fence() trick will work for all the supported Rust platforms, it's not guaranteed that it will work for all future platforms.  For example, if Alpha were supported by Rust, compiler_fence() doesn't guarantee the ordering due to dependency.  In short, compiler_fence() is an architecture-dependent trick.
So I propose to turn it on for those platforms that we know compiler_fence() trick will work, and turn it off for the others.  (And I think we don't need to make a feature gate for consume; just use consume whenever it's desirable!)  Concretely, how about this?
cfg_if! {

if #[cfg(or(arch = "aarch64", arch = "powerpc", ...))] { // all the platforms you want to use the `compiler_fence()` trick
    impl_atomic!(AtomicBool, bool);
    ....
} else {
    ... // impl consume with acquire
}

}

I changed the code to only use Relaxed + compiler_fence on ARM and AArch64, and removed the Cargo feature. We can add more architectures later if there is demand for it.


Properly work around Mac GCM issues when the system Java is 8 (or below)

Our prep script that configures machines (dev machines and build agents) to run functional tests has a workaround for an issue with the Git Credential Manager (https://github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux/issues/71).
This workaround only needs to be applied on machines who's default Java is 9 or 10 (which changed the format of 'java -version'). Applying the workaround to Java 8 installations will instead break the GCM on those machines.
See #155

This script now works properly on my MacBook


[WIP] Adding a RSS Feed for packages

Based on this very old issue https://github.com/NuGet/NuGetGallery/issues/2992 I will try it again.
The goal is to add a package feed to the NuGet Gallery like RubyGems.
In this comment I summarized the dicussion that we had in the past:

Maybe something like this:
Introduce a new config entry like "Gallery.ExposePackageAsSyndicationFeedMode"
With following possible values:
Off (so no RSS/Atom Feed is available - like today)
UseLocalDatabase => for On-Prem
UseV3Api => for NuGet.org
If value="UseV3Api" the "ServiceDiscoveryUri" must also be set.

The current implementation just uses the OnPrem way:

With this feed:

<rss version="2.0">
    <channel>
        <title>NuGet Package 'NUnit' Feed</title>
        <link>https://localhost/packages/NUnit/</link>
        <description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.

This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.

Supported platforms:
- .NET 2.0+
- .NET Standard 1.3 and 1.6
- .NET Core</description>
        <lastBuildDate>Mon, 10 Dec 2018 18:36:46 GMT</lastBuildDate>
        <language>en-us</language>
            <item>
                <title>3.9.0;</title>
                <link>
                https://localhost/packages/NUnit/3.9.0
                </link>
                <guid>https://localhost/packages/NUnit/3.9.0</guid>
                <pubDate>Mon, 10 Dec 2018 18:36:46 GMT</pubDate>
                <description>This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.</description>
            </item>
            <item>
                <title>3.8.1;</title>
                <link>
                https://localhost/packages/NUnit/3.8.1
                </link>
                <guid>https://localhost/packages/NUnit/3.8.1</guid>
                <pubDate>Mon, 10 Dec 2018 18:38:51 GMT</pubDate>
                <description>This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.</description>
            </item>
            <item>
                <title>3.5.0;</title>
                <link>
                https://localhost/packages/NUnit/3.5.0
                </link>
                <guid>https://localhost/packages/NUnit/3.5.0</guid>
                <pubDate>Fri, 18 Aug 2017 18:48:49 GMT</pubDate>
                <description>This package includes the NUnit 3.0 framework assembly, which is referenced by your tests. You will need to install version 3.0 of the nunit3-console program or a third-party runner that supports NUnit 3.0 in order to execute tests. Runners intended for use with NUnit 2.x will not run 3.0 tests correctly.</description>
            </item>
    </channel>
</rss>

The implementation side it's pretty simple.
Question now is: Is the NuGet team still interested in this feature and is the above plan still valid?
If yes:
Would this be a good API endpoint to fetch the needed package metadata? https://api.nuget.org/v3/registration3-gz-semver2/newtonsoft.json/index.json
As far as I understand the NuGet API only the registration would hold the needed package information (I'm not sure if I understand the structure right now, but this seems to be manageable ;) )
What do you think?

I found the time to give it a try with Atom feeds. I switched from RSS to ATOM by using the "SyndicationItem" stuff, which is part of the .NET Framework.
I also did the UI work and the ATOM feed should at least be "valid".
Some screenshots:

A example feed could look like this:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">NuGet.org: NUnit</title>
  <subtitle type="text">NUnit is a unit-testing framework for all .NET languages with a strong TDD focus.</subtitle>
  <id>https://localhost/packages/NUnit/</id>
  <updated>2019-02-06T22:46:05+01:00</updated>
  <logo>https://cdn.rawgit.com/nunit/resources/master/images/icon/nunit_256.png</logo>
  <link rel="self" type="application/atom+xml" href="https://localhost/packages/NUnit/atom.xml" />
  <link rel="alternate" type="text/html" href="https://localhost/packages/NUnit/" />
  <entry>
    <id>https://localhost/packages/NUnit/3.9.0</id>
    <title type="text">NUnit: 3.9.0</title>
    <updated>2018-12-10T19:36:46+01:00</updated>
    <author>
      <name>Charlie Poole, Rob Prouse</name>
    </author>
    <link rel="alternate" href="https://localhost/packages/NUnit/3.9.0" />
    <content type="text">NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.

This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.

Supported platforms:
- .NET 2.0+
- .NET Standard 1.3 and 1.6
- .NET Core</content>
  </entry>
  <entry>
    <id>https://localhost/packages/NUnit/3.8.1</id>
    <title type="text">NUnit: 3.9.0</title>
    <updated>2018-12-10T19:38:51+01:00</updated>
    <author>
      <name>Charlie Poole, Rob Prouse</name>
    </author>
    <link rel="alternate" href="https://localhost/packages/NUnit/3.8.1" />
    <content type="text">NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.

This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.

Supported platforms:
- .NET 2.0+
- .NET Standard 1.3 and 1.6
- .NET Core</content>
  </entry>
  <entry>
    <id>https://localhost/packages/NUnit/3.5.0</id>
    <title type="text">NUnit: 3.9.0</title>
    <updated>2017-08-18T20:48:49+02:00</updated>
    <author>
      <name>Charlie Poole</name>
    </author>
    <link rel="alternate" href="https://localhost/packages/NUnit/3.5.0" />
    <content type="text">NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.

This package includes the NUnit 3 framework assembly, which is referenced by your tests. You will need to install version 3 of the nunit3-console program or a third-party runner that supports NUnit 3 in order to execute tests. Runners intended for use with NUnit 2.x will not run NUnit 3 tests correctly.

Supported platforms:
- .NET 2.0+
- .NET Standard 1.3 and 1.6
- .NET Core</content>
  </entry>
</feed>

The feed itself is valid according to the w3c validator: https://validator.w3.org/feed/#validate_by_input
Still open (beside the conflict with the current master):

Tests

Before I continue just one question: Is the implementation OK-ish from your perspective? I'm using a different approach now with the SyndicationFeed that's why I'm asking. The AtomFeedActionResult is based from this blogpost
The good thing is, that this could be tested quite good I think.

Before I continue just one question: Is the implementation OK-ish from your perspective?

More than OK-ish 😄. Great!
I'll leave some specific code comments and wait on those tests, but this really looking good.

Not sure if I use the GitHub review tool as it meant to be - short summary:
I think I addressed all requested changes. Still missings are the tests and the hardcoded title for the feed title.
My suggestion for the feed title would be a combination of the Gallery.Brand + the package id + feed like "{Gallery.Brand} Feed for package {package.Id}".

My suggestion for the feed title would be a combination of the Gallery.Brand + the package id + feed like "{Gallery.Brand} Feed for package {package.Id}".

Sounds good.

Ok - unit tests are added

The happy path is "quite" simple. Just tell me if I should add some more tests or change anything else.

There are some merge conflict. Can you resolve them? If they start getting hairy, let me know and I can take care of them as part of merging your PR.

urgh... mhh... this was not supposed to happen. Wait...

@robertmuehsig i think that was because the PR was based off of master branch. We typically do all feature work in the dev branch. I changed the base branch of your PR to dev. Looks better aside from some merge commits. I would recommend rebased your changes off of latest dev.

Also, could you update the screenshots? I would like to show @anangaur to make sure he likes it.

ok - I was in the middle of creating a new (clean) branch and I guess this is now the better option. Hope this is ok, but I wasn't sure if I made some dumb git moves or not - sorry.
The new PR (with screenshots and a sample feed) is here https://github.com/NuGet/NuGetGallery/pull/6891

Closed in lieu of https://github.com/NuGet/NuGetGallery/pull/6891.


Expose ability to have time-dependent layers

Layers have the ability to define time-dependent markers, so we should expose that functionality in the layer API.

I'm finding that these settings are trapped by scope inside objects in the wwtlib.SpreadSheetLayer and wwtlib.TimeSeriesLayer classes and am not finding the way to edit them once a layer has been created. Is it only possible to set these attributes when initializing a layer? @astrojonathan

No these are settable at run-time, and in fact the web client binds to the active layer and sets these thru UI, so You can do the same.
What have you tried? They are accessible like any other property.

So when working through the SDK, I should be able to do something like wwtlib.SpreadSheetLayer.set_beginRange(date)? With that, I get TypeError: undefined is not an object (evaluating 'wwtlib.SpreadSheetLayer.get_beginRange').

No. You set_timeSeries = true;  The "begin" and "end" ranges are internally computed from your data.
You litteally just need to set the columns to define what column number defines your begin and optionally end data, your decay an set the time series to true at it just works.
From that point, you can then loop thru the time range using the space time controller and watch the animation happen.

I'm not sure why it's not working so simply for me. The only editable attributes I get from wwtlib.SpreadSheetLayer (using Object.keys()) are _getDatafromFeed$1, _executeQuery$1, parseDate, execlToDateTime, get__circleTexture$1.
From what I see in the SpreadSheetLayer section of the SDK, set_timeSeries is inside an object called SpreadSheetLayer$ that I can't access from outside; the errors always say it's undefined.

@ojustino Can you get your sample Python code in #187 to work in a Jupyter notebook? As far as I can tell, the fundamental issue is how WebKit's JavaScript Date objects work. Unlike some other toolkits, it won't parse the time column in your sample dataset as given. The MDN docs say that you shouldn't parse dates from strings in JavaScript due to cross-browser incompatibilities. But anyway, if I try an example in Jupyter in Firefox, it works.
There might also be issues with timezones; depending on how dates are constructed, they may be interpreted as UTC or as the local timezone. When testing with WebKit I had to express the times as being in my local time zone, YYYY-MM-DDTHH:MM:SS-05:00, to get WWT's internal clock to agree with what I was setting; this needs straightening out.
Finally, I also found that if I was running code as a block, I had to set the current time before calling track_object('Earth'), because the track_object() call would set up a Mover that would override the time that I had tried to set manually.

@pkgw  I'm still not having success running the code in to_test.py and time_test.py in a Jupyter notebook. I have tried working with fresh installs in a different conda environment. I can't get the viewer to show up in a notebook after installing my local git directory's version of pywwt with pip install -e .. I'm guessing you don't have the same behavior?
(Using conda install makes the viewer work, but since time_series and time_att are not keyword arguments of add_data_layer in standard pywwt, the sample code won't work since this PR is not part of the conda install.)
My sample code does not work as intended in Qt. The points disappear once times are assigned to them and they don't reappear after turning `pywwt``s clock backward.
We'll have to be careful about supporting both the Qt and Jupyter versions with regard to your findings on Date is indeed the case. I found that Qt's QWebEngine uses a lot of deprecated JS functionality when I wrote the keyboard controls functionality in wwt.html.

@ojustino I find that if the viewer isn't showing up, it's almost always an issue with one or more of the extensions that need to be registered with the Jupyter system. Whenever this happens I try to flesh out the docs a bit more; here's a proposed update to the installation docs with some changes based on my most recent struggles: link.

Closed in #187.


Enable MetalLB

See https://metallb.universe.tf/concepts/layer2/.

Useful links:

https://metallb.universe.tf/installation/#installation-by-manifest
https://metallb.universe.tf/configuration/#layer-2-configuration

Looks like the MetalLB team is working on dual-stack support: https://github.com/metallb/metallb/issues/1155


Fix path in install - dosctrine:fixtures

For windows working

I tried this on Windows10 it's working, thanks
I get the error " MySQL error 2006: mysql server has gone away " while installing fixtures,  I fixed it by
editing Mysql config (etc/my.ini ):
max_allowed_packet=100M


Embedded angular/core into the bundle

Type of Issue
[ ] Bug Report
[ ] Feature Request
[X] Support

Description
I can't embedded angular/core into my library
How To Reproduce
With this configuration when i exec ng-packagr -p package.json i get this error:
package.json
"ngPackage": {
    "lib": {
      "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
      "languageLevel": [
        "dom",
        "es2017"
      ],
      "cssUrl": "inline",
      "licensePath": "LICENSE",
      "comments": "none",
      "embedded": [
        "lodash",
        "@angular/core"
      ],
      "entryFile": "src/public_api.ts"
    }
  },

public_api.ts
import * as lodash from "lodash";
import * as core from "@angular/core";

const _ = lodash;
const ng = core;

export {
  _,
  ng
}

Console output
yarn run v1.3.2
$ ng-packagr -p package.json
Building Angular Package
Building entry point 'core'
Cleaning build directory
Rendering Stylesheets
Rendering Templates
Compiling TypeScript sources through ngc
Bundling to FESM15

BUILD ERROR
ENOENT: no such file or directory, open 'C:\Users\hecto\Desktop\core\node_modules\packages\core\esm5\src\di\injection_token.js.map'
Error: ENOENT: no such file or directory, open 'C:\Users\hecto\Desktop\core\node_modules\packages\core\esm5\src\di\injection_token.js.map'

error Command failed with exit code 111.

Expected Behaviour
I trying to expose angular core from my library and consume it in an other SPA.
Version Information
$ node_modules/.bin/ng-packagr --version
ng-packagr: 2.1.0
@angular/compiler: 5.2.6
@angular/compiler-cli: 5.2.6
rollup: 0.55.5
tsickle: 0.27.2
typescript: 2.5.0
rxjs: 5.5.6
node: 9.5.0
yarn: 1.3.2

Thanks you very much in advance :)

Looks like a source map issue in @angular/core ?
Alltogether, I wouldn't do that and try to embed angular code or rxjs in a bundle. I know I showed it on the angularair podcast but I shouldn't. Embedding a dependency is appropriate if you like to provide a wrapper around a third-party and imo that's only a good idea for legacy or plain javascript. For example, a shim or a 'native' XHR library and there you like to hide the awkwardness(?) from your consumers.

okk, i was understand you.
My intention is that this package provide the correct version of angular 5, because i don't want that the developers in my project using other versions. But from your comment i thinking that is better idea that i indicate the specific version in dependencies and peerDependencies and in the SPAs only use as dependency my package.
What are you think about this?
Thanks

add @angular/core to peerDeps


updated libsodium version to 1.0.2

Latest heroku builds weren't working with the old version of libsodium. Updating to the 1.0.2 version seems to have fixed the issues. It should probably let you select a version in the future if that's possible

Thanks @relotnek
If you are using Libsodium in a Ruby application, make sure to check out the Libsodium Ruby Gem: https://github.com/cryptosphere/rbnacl-libsodium


add macos-latest to testing strategy

will install dependencies with homebrew package manager

that was pretty complicated to get mpi4py, hdf5-mpi and gdal working.  should work for python versions 3.6+ on macos-latest (catalina)


Disabled sources are not ignored

Type (choose one):

Bug

NPE version: 6.0.64+c118e46e01
OS version: Microsoft Windows [Version 10.0.22631.3737]
Installed from: msstore

What is the current result?
dotnet-tools source is disabled:

>dotnet nuget list source
Zarejestrowane źródła:
  1.  nuget.org [Włączone]
      https://api.nuget.org/v3/index.json
  2.  dotnet-tools [Wyłączony]
      https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
  3.  Microsoft Visual Studio Offline Packages [Włączone]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

but it not only is not ignored, but also is the default one used when the dropdown is empty (immediately after opening the online package list).

What is the expected result?
Disabled sources are ignored.
Please post full exception details in case of an Exception (message, stacktrace, inner exceptions). none
Are there any workarounds? select the nuget.org source from the dropdown
Is there a version in which it did work? idk
Is there a package on Nuget.org which shows the bug?
CommunityToolkit.HighPerformance

I dug around in the logic and it is a caching issue. I was able to reproduce by:

Adding a NuGet source using dotnet nuget add source
Opening "NuGet Package Explorer"
Selecting "Open a package from online feed"

If the newly added source was NOT disabled before doing this, then it gets cached in the settings.dat file located at:
%USERPROFILE%\AppData\Local\Packages\50582LuanNguyen.NuGetPackageExplorer_w6y2tyx5bpzwa\Settings\
(Note: The exact path may be different on your machine, especially if you installed the app differently than the MS Store)
You can delete the settings.dat file which will cause the app to regenerate it, and the disabled source won't appear in the dropdown.
This solution isn't great though, and there should probably be a way to clear this cache in the UI.🙂


Fix: Only adding folders to stack with a compose file.

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/dockge/blob/master/CONTRIBUTING.md
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
Fixes #183
Type of change
Please delete any options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
This change requires a documentation update (Maybe)

Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[x] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)
Before

After

It checks if the folder in the  stacks has any of the following files "compose.yaml", "compose.yml", "docker-compose.yml", "docker-compose.yaml" .

Actually I was thinking using something like .gitignore to exclude them, because file system operations will be fewer.
I think it is ok at this moment.

Actually I was thinking using something like .gitignore to exclude them, because file system operations will be fewer.

I think it would be a good idea to also rely on the gitignore, but the gitignore often doesn't hide some main folders (like the .git folder) so if you are going this approach you would probably want something more custom.


Create wrangle.py

Addressing #70, this PR creates some data wrangling functions that I thought could be helpful.
Note: I have not been able to actually run the tests.py script because I am maxed out on my monthly tweets so it will fail no matter what. Please look that script over carefully or give it a go on your end. Either way, it shouldn't break anything old because it's a separate module.
I was originally intending to create functions like wrangle.extract(tweet_obj, "hashtags") - which would take a tweet object and return all the hashtags - but this seems too specific given Twitter's new data format. I ended up going with a handful of general functions that I felt could be applicable/useful for any bit of Twitter data (I think?).
Of course, please share your thoughts on whether these are worth including or not.

FYI, I will update the Wiki with examples that utilize actual tweet data after this is merged.

Thanks for the great feedback @yangkcatiu. Check out line 218 from my latest commit and let me know if you think this solves the issue with the get_dict_val edge case that you highlighted. It now passes the tests but not sure if it breaks something else?
I also made some minor formatting changes after running pylint.

Let's come back to this If we see new bugs in the future. I don't have any cases that would break the code for now.


Internal Error

When I type /envoy center, I get an internal error.

any errors? lol

Please pastebin the error and paste the link here.

Will do when I get time.

Looks like you don't got any time lol
BadBones close this boi


docs: add Render deployment instructions

Description

This PR adds instructions on deploying a Vite app as a static site to Render.
Additional context

Disclosure: I work at Render.

What is the purpose of this pull request?

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

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

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

@patak-dev Excellent – thank you.


Add hotword detection capability

Need to add hotword detection capability which runs continuously when the app in is foreground so that capabilities can be used hands free.

Snowboy (https://snowboy.kitt.ai/) is a DNN- based hotword detection library for various platforms. It can be utilized to improve Hotword Detection a lot.


docs(cloudflare): fix typo

🔗 Linked issue

❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)

Thanks!


Add possibility to authorise user before accessing Crono Web UI

Like Rails admin
  config.authorize_with do
    require_http_admin
  end

This would simply restrict any unwanted /crono visitors

Hello @Sacristan
there are lots of authentication options, please check https://github.com/plashchynski/crono/wiki/Web-UI#security


Once a player joins, all currently written, but not saved changes are omitted

If a player joins before the admin clicks "save settings", already added settings are lost


how to open the msys2 shell at a specified path

If you're using the .exe launchers (the ones that this repository is about), it's enough to uncomment the CHERE_INVOKING=1 line in the .ini file of the launcher (or in all three .ini files) located in your MSYS2 root.
After that, the shell will open in the directory from where it was called. If you're in a Windows command prompt, it will be the current working directory. Otherwise, you can create a shortcut and specify the starting directory in its properties.
Does that work for you?

I think this method is okay for most use cases and OP hasn't responded. Closing.

Hi,
I'm using context menu for a "MINGW64 here" command in explorer.
It works fine for Directory\Background using this registry entry:
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\MINGW64 here\command]
@="C:\\dev\\msys64\\mingw64.exe"

But for Directory I have to use the msys2_shell.cmd where I can set the where option or else it will open in the parent directory or c:\windows\system32...
[HKEY_CURRENT_USER\Software\Classes\Directory\shell\MINGW64 here\command]
#@="C:\\dev\\msys64\\mingw64.exe # not working"
@="C:\\dev\\msys64\\msys2_shell.cmd -mingw64 -where \"%1\""

Sure, it works but it just isn't pretty, and I get the msys2.exe application icon instead of mingw64.exe icon...
So I'm also interested in this feature.


An error occurred while extracting the Universal Packages tooling: [WinError 5] Access is denied: '

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az artifacts universal publish Extension Name: azure-devops. Version: 0.11.0.
Errors:
[WinError 2] The system cannot find the file specified
Traceback (most recent call last):
pip-install-rg707cll\knack\knack\cli.py, ln 206, in invoke
cli\core\commands\__init__.py, ln 603, in execute
cli\core\commands\__init__.py, ln 661, in _run_jobs_serially
cli\core\commands\__init__.py, ln 652, in _run_job
azext_devops\dev\common\exception_handler.py, ln 26, in azure_devops_exception_handler
    reraise(*sys.exc_info())
Temp\pip-install-rg707cll\six\six.py, ln 693, in reraise
cli\core\commands\__init__.py, ln 631, in _run_job
...
Azure\CLI2\lib\subprocess.py, ln 709, in __init__
    restore_signals, start_new_session)
Azure\CLI2\lib\subprocess.py, ln 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az artifacts universal publish --organization {} --feed {} --name {} --version {} --description {} --path {} --debug

Expected Behavior
Environment Summary
Windows-10-10.0.16299-SP0
Python 3.6.6
Shell: powershell.exe

azure-cli 2.0.73

Extensions:
azure-devops 0.11.0

Additional Context

@saiprasanthrajavarapu Do you have any more information here? It looks like there may be an error in either auth or the file path you used. The title says auth but the logs don't contain that error.

This bug occurs when some other process might interfere with the download artifact tool. The process could be an antivirus, some other process which is sharing the same location etc. We are in the process of adding a retry to alleviate this. If the antivirus policy is set to delete the tool, then the path needs to be whitelisted.
Also, this issue looks like a duplicate of #776 . Closing this one and tracking it there.


Assume strings are utf8 by default and fallback on encoding if necessary

Before this patch, we always assumed the string was ascii-8bit which
does not work correctly with real utf8 strings (french accented chars or
chineese chars).
This patch tries to use the string as utf8 and fallback if necessary to
the the ascii-8bit assumption if necessary.
This should help with #295 and might replace the need for #301.
Change-Id: Idac63fa10e5aefafa1eb99a6be4138cac5f90ea0

Sorry for the removal of ruby 1.9.2 without prior discussion. At the moment tests cannot pass (even in master) for ruby 1.9.2 (see my comment on my second commit).

@rvodden would you consider this PR if I fixed the conflicts?

@perlun I am willing to fix the conflicts if you are interested in the PR. let me know

@kamaradclimber I think #327 supersedes this. Could you try with the latest master and see if this assumption is right? If not, we can discuss it further - I'm open to changes that fixes bugs in the implementation.

thanks for the answer. I'll close the PR and test latest master


Compilation failing using ./compile.sh

[root@scflexnode09 dr-elephant-master]# ./compile.sh
Using the default configuration
Hadoop Version : 2.6.0
Spark Version  : 1.5.0
Other opts set :

trap exit SIGINT SIGTERM
+++ dirname ./compile.sh
++ cd .
++ pwd
project_root=/gpfs/home/tpathare/dr-elephant-master
cd /gpfs/home/tpathare/dr-elephant-master
start_script=/gpfs/home/tpathare/dr-elephant-master/scripts/start.sh
stop_script=/gpfs/home/tpathare/dr-elephant-master/scripts/stop.sh
rm -rf /gpfs/home/tpathare/dr-elephant-master/dist
mkdir dist
play_command -Dhadoopversion=2.6.0 -Dsparkversion=1.5.0 clean test compile dist
type activator
activator is /activator-1.3.9-minimal/bin/activator
activator -Dhadoopversion=2.6.0 -Dsparkversion=1.5.0 clean test compile dist
[info] Loading project definition from /gpfs/home/tpathare/dr-elephant-master/project
[info] Set current project to dr-elephant (in build file:/gpfs/home/tpathare/dr-elephant-master/)
[success] Total time: 0 s, completed Apr 9, 2016 7:31:16 PM
[info] Updating {file:/gpfs/home/tpathare/dr-elephant-master/}dr-elephant-master...
[info] Resolving xml-apis#xml-apis;1.3.04 ...
[info] Done updating.
[info] Compiling 43 Scala sources and 69 Java sources to /gpfs/home/tpathare/dr-elephant-master/target/scala-2.10/classes...
[error] /gpfs/home/tpathare/dr-elephant-master/app/org/apache/spark/deploy/history/SparkDataCollection.scala:217: type mismatch;
[error]  found   : scala.collection.mutable.HashSet[Int]
[error]  required: org.apache.spark.util.collection.OpenHashSet[Int]
[error]         addIntSetToJSet(data.completedStageIndices, jobInfo.completedStageIndices)
[error]                              ^
[warn] /gpfs/home/tpathare/dr-elephant-master/app/org/apache/spark/deploy/history/SparkDataCollection.scala:299: abstract type pattern T is unchecked since it is eliminated by erasure
[warn]     seq.foreach { case (item: T) => list.add(item)}
[warn]                               ^
[warn] one warning found
[error] one error found
error Compilation failed
[error] Total time: 15 s, completed Apr 9, 2016 7:31:31 PM
cd target/universal
./compile.sh: line 94: cd: target/universal: No such file or directory
++ /bin/ls '*.zip'
/bin/ls: cannot access *.zip: No such file or directory
ZIP_NAME=
unzip
UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).
-p  extract files to pipe, no messages     -l  list files (short format)
-f  freshen existing files, create none    -t  test compressed archive data
-u  update files, create if necessary      -z  display archive comment only
-v  list verbosely/show version info       -T  timestamp archive to latest
-x  exclude files that follow (in xlist)   -d  extract files into exdir
modifiers:
-n  never overwrite existing files         -q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting      -a  auto-convert any text files
-j  junk paths (do not make directories)   -aa treat ALL files as text
-U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields
-C  match filenames case-insensitively     -L  make (some) names lowercase
-X  restore UID/GID info                   -V  retain VMS version numbers
-K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager
See "unzip -hh" or unzip.txt for more help.  Examples:
unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
unzip -p foo | more  => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer

rm
rm: missing operand
Try `rm --help' for more information.
DIST_NAME=
chmod +x /bin/dr-elephant
chmod: cannot access `/bin/dr-elephant': No such file or directory
sed -i.bak '/declare -r app_classpath/s/.$/:hadoop classpath:${ELEPHANT_CONF_DIR}"/' /bin/dr-elephant
sed: can't read /bin/dr-elephant: No such file or directory
cp /gpfs/home/tpathare/dr-elephant-master/scripts/start.sh /bin/
cp /gpfs/home/tpathare/dr-elephant-master/scripts/stop.sh /bin/
zip -r .zip

zip error: Nothing to do! (.zip)

mv .zip /gpfs/home/tpathare/dr-elephant-master/dist/
mv: cannot stat `.zip': No such file or directory
[root@scflexnode09 dr-elephant-master]#

Can you try compiling with spark version 1.4.0?
On Sat, Apr 9, 2016 at 10:02 PM, tushu1232<EMAIL_ADDRESS>wrote:

[root@scflexnode09 dr-elephant-master]# ./compile.sh
Using the default configuration
Hadoop Version : 2.6.0
Spark Version : 1.5.0
Other opts set :

trap exit SIGINT SIGTERM +++ dirname ./compile.sh ++ cd . ++ pwd
project_root=/gpfs/home/tpathare/dr-elephant-master
cd /gpfs/home/tpathare/dr-elephant-master
start_script=/gpfs/home/tpathare/dr-elephant-master/scripts/start.sh
stop_script=/gpfs/home/tpathare/dr-elephant-master/scripts/stop.sh
rm -rf /gpfs/home/tpathare/dr-elephant-master/dist
mkdir dist
play_command -Dhadoopversion=2.6.0 -Dsparkversion=1.5.0 clean test
compile dist
type activator activator is /activator-1.3.9-minimal/bin/activator
activator -Dhadoopversion=2.6.0 -Dsparkversion=1.5.0 clean test
compile dist [info] Loading project definition from
/gpfs/home/tpathare/dr-elephant-master/project [info] Set current project
to dr-elephant (in build file:/gpfs/home/tpathare/dr-elephant-master/)
[success] Total time: 0 s, completed Apr 9, 2016 7:31:16 PM [info] Updating
{file:/gpfs/home/tpathare/dr-elephant-master/}dr-elephant-master... [info]
Resolving xml-apis#xml-apis;1.3.04 ... [info] Done updating. [info]
Compiling 43 Scala sources and 69 Java sources to
/gpfs/home/tpathare/dr-elephant-master/target/scala-2.10/classes... [error]
/gpfs/home/tpathare/dr-elephant-master/app/org/apache/spark/deploy/history/SparkDataCollection.scala:217:
type mismatch; [error] found : scala.collection.mutable.HashSet[Int]
[error] required: org.apache.spark.util.collection.OpenHashSet[Int] [error]
addIntSetToJSet(data.completedStageIndices, jobInfo.completedStageIndices)
[error] ^ [warn]
/gpfs/home/tpathare/dr-elephant-master/app/org/apache/spark/deploy/history/SparkDataCollection.scala:299:
abstract type pattern T is unchecked since it is eliminated by erasure
[warn] seq.foreach { case (item: T) => list.add(item)} [warn] ^ [warn] one
warning found [error] one error found error Compilation failed [error]
Total time: 15 s, completed Apr 9, 2016 7:31:31 PM
cd target/universal ./compile.sh: line 94: cd: target/universal: No
such file or directory ++ /bin/ls '*.zip' /bin/ls: cannot access *.zip: No
such file or directory
ZIP_NAME=
unzip UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C.
Spieler. Send bug reports using http://www.info-zip.org/zip-bug.html;
see README for details.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d
exdir]
Default action is to extract files in list, except those in xlist, to
exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment only
-v list verbosely/show version info -T timestamp archive to latest
-x exclude files that follow (in xlist) -d extract files into exdir
modifiers:
-n never overwrite existing files -q quiet mode (-qq => quieter)
-o overwrite files WITHOUT prompting -a auto-convert any text files
-j junk paths (do not make directories) -aa treat ALL files as text
-U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through "more" pager
See "unzip -hh" or unzip.txt for more help. Examples:
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file
newer

rm rm: missing operand Try `rm --help' for more information.
DIST_NAME=
chmod +x /bin/dr-elephant chmod: cannot access `/bin/dr-elephant':
No such file or directory
sed -i.bak '/declare -r app_classpath/s/.$/:hadoop classpath:${ELEPHANT_CONF_DIR}"/'
/bin/dr-elephant sed: can't read /bin/dr-elephant: No such file or directory
cp /gpfs/home/tpathare/dr-elephant-master/scripts/start.sh /bin/
cp /gpfs/home/tpathare/dr-elephant-master/scripts/stop.sh /bin/
zip -r .zip

zip error: Nothing to do! (.zip)

mv .zip /gpfs/home/tpathare/dr-elephant-master/dist/ mv: cannot stat
`.zip': No such file or directory [root@scflexnode09
dr-elephant-master]#

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/linkedin/dr-elephant/issues/7

tushu1232, I'll close this issue and track it in issue8. Thanks for reporting it.

Please some body help me here..
$ ./compile.sh compile.conf
Using config file: compile.conf
Reading from config file...
Hadoop Version : 2.2.0
Spark Version  : 1.5.2
Other opts set : -Dsbt.repository.config=app-conf/resolver.conf
############################################################################
npm installation not found. Please install npm in order to compile with new user interface
############################################################################
activator is /cygdrive/c/Users/dandin/Desktop/activator-dist-1.3.12/bin/activator
[info] Loading project definition from C:\Users\dandin\Desktop\dr-elephant-master\project
[info] Set current project to dr-elephant (in build file:/C:/Users/dandin/Desktop/dr-elephant-master/)
[success] Total time: 4 s, completed 20 Jan, 2017 1:23:03 AM
[info] Updating {file:/C:/Users/dandin/Desktop/dr-elephant-master/}dr-elephant-master...
[info] Resolving org.jacoco#org.jacoco.agent;<IP_ADDRESS>405082137 ...
[info] Done updating.
[info] Compiling 75 Scala sources and 77 Java sources to C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\classes...
[warn] warning: [options] bootstrap class path not set in conjunction with -source 1.6
[warn] C:\Users\dandin\Desktop\dr-elephant-master\app\Global.java:18: warning: AbstractSaslImpl is internal proprietary API and may be removed in a future release
[warn] import com.sun.security.sasl.util.AbstractSaslImpl;
[warn]                                  ^
[warn] C:\Users\dandin\Desktop\dr-elephant-master\app\Global.java:67: warning: AbstractSaslImpl is internal proprietary API and may be removed in a future release
[warn]       Field loggerField = AbstractSaslImpl.class.getDeclaredField("logger");
[warn]                           ^
[warn] Note: Some input files use unchecked or unsafe operations.
[warn] Note: Recompile with -Xlint:unchecked for details.
[warn] 3 warnings
[success] Total time: 137 s, completed 20 Jan, 2017 1:25:20 AM
[warn] Skipped generating '' for org.apache.hadoop#. Dependency exclusion should have both 'org' and 'module' to comply with Maven POM's schema.
[warn] Skipped generating '' for com.typesafe.akka#. Dependency exclusion should have both 'org' and 'module' to comply with Maven POM's schema.
[warn] Skipped generating '' for org.apache.avro#. Dependency exclusion should have both 'org' and 'module' to comply with Maven POM's schema.
[warn] Skipped generating '' for org.apache.hadoop#. Dependency exclusion should have both 'org' and 'module' to comply with Maven POM's schema.
[warn] Skipped generating '' for net.razorvine#*. Dependency exclusion should have both 'org' and 'module' to comply with Maven POM's schema.
[info] Packaging C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\dr-elephant_2.10-2.0.6-sources.jar ...
[info] Wrote C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\dr-elephant_2.10-2.0.6.pom
[info] Done packaging.
[info] Main Scala API documentation to C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\api...
[info] Packaging C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\dr-elephant_2.10-2.0.6.jar ...
[info] Done packaging.
model contains 242 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging C:\Users\dandin\Desktop\dr-elephant-master\target\scala-2.10\dr-elephant_2.10-2.0.6-javadoc.jar ...
[info] Done packaging.
[info]
[info] Your package is ready in C:\Users\dandin\Desktop\dr-elephant-master\target\universal\dr-elephant-2.0.6.zip
[info]
[success] Total time: 87 s, completed 20 Jan, 2017 1:26:47 AM
./compile.sh: line 134: unzip: command not found
chmod: cannot access 'dr-elephant-2.0.6/bin/dr-elephant': No such file or directory
sed: can't read dr-elephant-2.0.6/bin/dr-elephant: No such file or directory
cp: cannot create regular file 'dr-elephant-2.0.6/bin/': No such file or directory
cp: cannot create regular file 'dr-elephant-2.0.6/bin/': No such file or directory
./compile.sh: line 149: zip: command not found
No zip file created in dist directory after this

You're missing unzip:

./compile.sh: line 134: unzip: command not found

I copied source code from git... didnt make any change to compile script.

Do you have unzip and zip installed on the machine where you are running the the compile script?

On Jan 19, 2017, at 12:51 PM, Santosh Dandin<EMAIL_ADDRESS>wrote:
I copied source code from git... didnt make any change to compile script.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/linkedin/dr-elephant/issues/7#issuecomment-273894647, or mute the thread https://github.com/notifications/unsubscribe-auth/AM_Tn9pvdx_2giZQWe3dBdz2agjs6gQpks5rT8zAgaJpZM4IDpkD.


RTL document

I would be obliged if you could kindly provide an example to create a right to left document, such as :

https://fonts.google.com/specimen/Amiri?subset=arabic&query=amiri&sidebar.open=true&selection.family=Amiri#standard-styles

RTL is a needed feature for Persian/Arabic languages (and many more).

+1 really needed feature!

+1 really needed feature!

Right now the only way to do this is by drawing each character individually. Better support for typography and text layout is on the roadmap: https://github.com/Hopding/pdf-lib/discussions/998.


ErrorPlot overflows beyond fixed height of grid

Want it to match expression table half

Fixed this by adding overflow with a scroll here which matches the behavior of the expression table half of the grid.


parser/pprint_ast: force parentheses around switch (...)/try (...)

This PR force scrutinees in switch and try expressions to be wrapped with parentheses: switch (a) { | None => ... }.

Is it possible to only do the printing change for now? This way after folks all refmt their files we can release the parser change, which wouldn't break (many) things

How does this change the parsing of switching on tuples?

It doesn't change: switch (a,b) { | (Some(one), Some(body)) => ... }


Mendocino County, California: Board of Supervisors -Sheriff Budget

<EMAIL_ADDRESS>To the Mendocino County Board of Supervisors,
I am a resident of Mendocino County. I am writing to demand that the Board of Supervisors adopt a budget strategy that prioritizes community well-being including investment in Native Pomo communities by redirecting funds away from the sheriff’s department in the next budget evaluation period.
The time has come to change ineffective institutions that actively marginalize minority and low-income communities. Our local government MUST evolve to prevent the escalation of racism and police brutality that is overwhelmingly present in our system.  I ask that you redirect a significant portion of the police budget toward community programs that provide citizens with basic human needs like affordable healthcare and housing. We do not want a militarized police force. We want to improve safety and strength in our community by appropriately funding health service providers, social workers, education systems, and victim/survivor advocation services. We want to see grants offered to community leaders and projects. We want our funds administered intelligently to benefit oppressed minorities in our county. Real, actionable change starts with reallocating funding in a manner consistent with these priorities.
As the Board of Supervisors in Mendocino County, the budget proposal is in your hands. It is your duty to represent your constituents. I am urging you to completely revise the budget for the 2020-2021 fiscal year. We can be a beacon of hope for other counties. We can provide an example of innovative and compassionate action. We can create a better future; if only we have the courage to change.
Thank you for your time,
[YOUR NAME] [YOUR ADDRESS] [YOUR PHONE NUMBER] [YOUR EMAIL ADDRESS]

Thank you for submitting your city to defund12.org! Your request is now in the queue for review and publishing. We’ll reply here if we have any questions.

Hi @bittersweetbaby ! Thanks for your interest in adding Mendocino County to the site. Can you provide more detail about the city budget to make a more compelling argument, showing the disparities in numbers?
Please see our email style guide for some suggestions.
Thank you!


Option to block gateway expired state 2

The API will generate a state 2 result pingback if the gateway expires. Other gateways, for example, Worldpay and Paypal don't noticeably use this feature, so the state 2 has an undesired consequence of using an order state which I use for other purposes. It may be good if there is an option to allow only pingback state 5 (if appropriate) to be generated.  Failures or timeouts leave without a pingback.

If we don't want timeout pingbacks, since the shop may have an alternative order time-out policy set in  the admin, the default timeout for payments could be made much longer.

You can disable this by commenting out the if statement on line 122 of modules/gateway/Bitcoinz/gateway.class.php


ISPN-9185 Remove compat mode from the Hot Rod protocol

https://issues.jboss.org/browse/ISPN-9185

Test failure is not related (fixed by #6200)

rebased

Only failures are on org.infinispan.counter.RemoveCounterTest that does not seem related, @pruivo  are you aware of those?

@gustavonalle it is new to me. maybe some issue with the VM :)

@galderz updated

The only failures are on org.infinispan.counter.RemoveCounterTest but those also happen on master


Stein Thinning

Putting this here as a suggestion for something I or someone else could work on later. It might speed up post-processing calculations (e.g. ParetoSmooth.jl) by letting you cut back on the chain length without losing accuracy; it also avoids having to discard burn-in samples.

It feels like the user should be in charge of this, rather than Turing automatically doing it. I am closing in on the principle of keeping Turing minimal and interoperable so users can combine Turing with addon libraries for more features.


Add NPA token

Company Profile:
Born in Moscow in 1975, a Russian encryption algorithm expert, a member of the Russian Federal SecurityAgency's cyber security, and one of the think tanks of General Bartnikov Alexander Vasilievich, proposeddistributed encryption based on infinite loops The algorithm greatly improves the data transmission ratebased on asymmetric encryption. In 2020, a framework model that combines the field of insurancenon-performing assets with blockchain encryption algorithms is proposed to build a new model formulti-dimensional evaluation, protection and disposal of digital assets.ManeeshGraduated from Agrawala St. Petersburg State University with a PhD in ComputerScience.
Project Description:
At present, there is no complete evaluation value system for digital currency. We
propose a new digital non-performing assets disposal scheme, which aims to build a
new model for multi-dimensional evaluation, guarantee and disposal of digital assets
based on Ethereum layer 2 and using neural network, deep learning and AI as the
underlying algorithm.
In this mode, the NPA development team chose Ethereum as the first platform to
demonstrate its scalability, and has provided a feasible scheme for Ethereum on Kea
testdot. The separation formalization of consensus and computation is used, and it
is proved that this method increases the throughput without compromising security.
When the throughput is significantly improved while maintaining the security of the
system, the traffic makes use of the heterogeneity provided by the node in terms of
broadband, storage and computing capabilities, and defines the role of the node, that
is, the collector, according to the node's tasks in the pipeline. When the expansibility,
high throughput, user experience, security and open side chain of the chain are
realized, the pledge of digital non-performing assets will be completed through the
generalized off chain smart contract. Deep learning and artificial intelligence are used
to evaluate digital assets. The key factors of relevant non-performing digital assets are
analyzed and the weight is calculated through convolution neural network, LSTM
sequence learning and Q-learning.
Official website: https://www.npadisposal.com
Telegram: https://t.me/npaofficialgroup
Twitter: https://twitter.com/NPAofficial3
Suggested Gas limit setting: 90,000

JustForFun] SC7702,SC6820, SC6600l, SC6531E test in action

{
    "symbol": "BTC",
    "account_name": "issue.newdex",
    "overview": {
        "en": "Newdex platform Ecological Token, an ecological Token that was issued based on the EOS main net, which can be applied to many scenarios on Newdex. The total volume of NDX distributions is limited to 10 billion and will never be issued again. The value of Newdex platform ecological Token includes: repurchase and destruction, staking concessions, Token airdrop, advertise bidding, independent listing, etc.",
        "zh": "Newdex平台生态通证，是基于EOS主网发行的生态通证，可应用于Newdex平台的众多场景。NDX发行总量限定为100亿，而且永不增发。Newdex平台生态通证价值包括：回购销毁、抵押优惠、糖果空投、广告竞价、自主上币等。"
    },
    "email"<EMAIL_ADDRESS>    "website": "https://newdex.io",
    "links": {
        "twitter": "https://twitter.com/NewdexOfficial"
    }
}


pypi.org shows latest version, pip see's previous version

Describe the bug
I have recently uploaded a new version of the guizero package 0.5.1 (https://pypi.org/project/guizero/) which is being displayed as available on pypi.org.

However pip is not reporting the new version as being available, only the previous 0.5.0.

I have tried across multiple platorms (windows, mac, linux) all with the same result.
I have tried upgrading pip (already latest version), with no effect.
As far as I can tell everything has been packaged correctly and pypi.org shows no errors.
Expected behavior
I am expecting guizero 0.5.1 to be available to install via pip.
To Reproduce
Run:
pip3 install guizero

or
pip search guizero

v0.5.0 is reported as the latest version.
My Platform
I have tested on:
+Windows 10, pip version 10.0.1
+MacOS, pip version 10.0.1
+Raspbian, pip version 9.0.1

Some additional information, the new vesion was uploaded using twine v1.11.0, setuptools 38.5.1.

And now pip is reporting that version 0.5.1 is the latest...
C:\Users\Martin O'Hanlon-LT>pip3 search guizero
guizero (0.5.1)  - Python module to allow learners to easily create GUIs
  INSTALLED: 0.5.1 (latest)

Timing issues? Propagation of data? Something else?

Hi @martinohanlon, thanks for the report.
Our search index is not updated incrementally yet, instead it is refreshed once every 3 hours. This would certainly lead to the behavior you're reported.
As such, I believe this is a duplicate of the feature request we are tracking in #701.

@ewdurbin Its certainly seems to be a symptom of not having #701 .
I suppose if this is currently considered to be normal behaviour...

We certainly want to implement incremental search index updates! Initial attempts in #3693 seemed to aggravate another issue, #3746
The pycon sprints are happening over the next four days and search issues are something we are going to try to prioritize.

To be clear, since pip uses the /simple API, which is instantaneously updated, you should be able to pip install your package as soon as you have uploaded it.
It's only pip search which depends on the search index, which is currently updated every 3 hours (as @ewdurbin said).

I just did a couple of tests on this because what @di said didnt match with my experience when I created this issue.
This is what I did / found:

I created a new packaged and uploaded it to pypi
As soon as I uploaded it, as @di said, I was able to install it
I then incremented the version number and uploaded it to pypi
At this point I was unable to install the new version using pip install package --upgrade as it only found the previous version
I uninstalled the packaged using pip uninstall package and tried to install it, but again it would only find the previous version
I was only able to install the new package by disabling the cache using pip --no-cache-dir install package option

In summary, providing you have never installed the packaged before, or you disable the cache, you can install a package simultaneously, otherwise its dependent on the search index being updated.

I think what you're hitting here is that pip's local HTTP cache is not stale enough to go out and actually hit PyPI the second time. I don't think any point you're interacting with the search index.
This might be worth raising on the pip issue tracker, but at first glance I don't see any way to avoid this without using --no-cache-dir as it's just a side effect of caching.

@ewdurbin This is happening for me right now for mimeparse==0.1.4, which appears on pypi having been released Jan 2, 2013, and yet I'm having trouble with it in 2019. pip==19.1 reports 0.1.2 and 0.1.3 as being available, but it doesn't list or allow me to install 0.1.4.
Also, pip search does appear to be aware of 0.1.4.
Could some old packages be affected by a different problem?

mimeparse 0.1.4 has no files on PyPI (note the absence of the "Download files" link on the right of https://pypi.org/project/mimeparse/0.1.4/), so pip has no way to install it.
I can see how the search result would be a bit confusing.

I have the issue with data-importer 3.1.1. It can be see by pip3 search, but not by pip3 install which only sees data-importer 3.0.2.

data-importer 3.1.1 only provides a Python 2 wheel. In contrast, 3.0.2 only provides a source distribution. Python 3 will not be able to install a Python 2 wheel, so 3.1.1 will not be used. 3.0.2's source distribution can be used by any version of Python so that's what Python 3 will be stuck with.

Thanks @jamadden, I've reported this to the misconfigured package.

@caramdache I made the upload for p3k today. Thanks for helping me @jamadden and @caramdache

Python 3.8.3 (64-bit), Windows 10
pip cannot see latest version from pypi.org

screenshot from pypi.org

@amandal1810 This is likely due to https://github.com/protocolbuffers/protobuf/issues/7520


where is  “~/.keras/datasets/VOC2012/combined_imageset_train.txt”

Thank you for your code.
I've already download voc2012 dataset. But I didn't find this file“combined_imageset_train.txt”,Similarly, I didn't find “combined_imageset_val.txt”,If you are free, please tell me

the scripts should generate those files if you follow the readme instructions

@ahundt hi, I've run the 'python data_pascal_voc.py pascal_voc_setup' they generate two label folder and a folder named 'trainval'  but there is no file named combined_images_train.txt, why is that?

Hello, I have same problem. I got all dataset except "combined_imageset_train.txt" , "combined_imageset_val_txt" . If it is okay, can I get those file through Email? Mine is<EMAIL_ADDRESS>. Thanks.

Hi, in the main part of "train.py", in the "if dataset == 'VOC2012_BERKELEY':" section, set:
train_file_path=os.path.expanduser('~.keras/datasets/VOC2012/VOCdevkit/VOC2012/ImageSets/Segmentation/train.txt')   val_file_path=os.path.expanduser('~.keras/datasets/VOC2012/VOCdevkit/VOC2012/ImageSets/Segmentation/val.txt')
data_dir = os.path.expanduser('~.keras/datasets/VOC2012/VOCdevkit/VOC2012/JPEGImages')
label_dir= os.path.expanduser('~.keras/datasets/VOC2012/VOCdevkit/VOC2012/SegmentationClass')

Regards

Maybe there is something wrong with your network, connection failed or read timeout cause this problem. I met this problem when i first run, next running result is correct.


ISPN-6353 REST service fails to start during remote query server inte…

…gration tests

make the rest cache startup eager to avoid CNFE
fix max-entries vs size
use local caches for REST and memcached if the cache container is local

Jira: https://issues.jboss.org/browse/ISPN-6353

Pulling

Integrated thanks!


🐞 Tabs in Dark Mode Are Too Dark

Description
This is how the toolbar and tabs look now when using native tabs...

This is how it should look...

Notice the coloring is way off, both the background color and the horizontal tab border color.

@lilingxi01 can you take a look at this please?

Investigating on it.
I can say this is mainly because I could not find a better solution to get rid of the titlebar separator forever except making the titlebar background material to be windowBackground.
I am finding a better solution.

The top and bottom tab border should be black in dark mode.

The top and bottom tab border should be black in dark mode.

Border is a little problem, a really quick fix. But for the background issue (https://github.com/CodeEditApp/CodeEdit/pull/461#issuecomment-1101087316), I am still searching for a solution because we want to get rid of the line separating between title bar and tab bar, which seems like this activity is not provided directly by NS components.

I don't understand, because the toolbar and active tab look fine in the video in https://github.com/CodeEditApp/CodeEdit/pull/461#issuecomment-1101474450
However when I tested it locally it was very dark as shown above.

I don't understand, because the toolbar and active tab look fine in the video in #461 (comment)
However when I tested it locally it was very dark as shown above.

Yeah I changed it because (https://github.com/CodeEditApp/CodeEdit/pull/461#issuecomment-1101481591). In video, the color is using a fixed hex value (I extracted them from Finder) rather than a given existing NSColor or any system material. Is that okay?


Broken link in Hub autobuilds section

Deploy preview for docsdocker ready!
Built with commit ecf004e97ae2c20f90b0fda65615d230b9e6ce84
https://deploy-preview-9720--docsdocker.netlify.com


Crashes in cleanup_tmpdir near the end of a run

We had a run that started this way:
bio-vcf 0.9.0 (biogem Ruby 2.1.3 with pcows) by Pjotr Prins 2015
Options: {:show_help=>false, :source=>"https://github.com/CuppenResearch/bioruby-vcf", :version=>"0.9.0 (Pjotr Prins)", :date=>"2016-02-14 21:36:51 +0000", :thread_lines=>40000, :timeout=>180, :filter=>"rec.sample['24385-12878-30-200'].dp>=20 and rec.sample['24385-200'].dp>=20 and r.info.fb_ssc>=20 and qual>=10", :sfilter=>"s.gq>=15"}

And ended this way:
Processing /tmp/crunch-job-task-work/compute118.1/bio-vcf_20160214-187-1c2phn1/000002-bio-vcf
Directory not empty @ dir_s_rmdir - /tmp/crunch-job-task-work/compute118.1/bio-vcf_20160214-187-1c2phn1

After this the program exited nonzero.  It looks like this came from cleanup_tmpdir (the only place in the code that calls Dir.unlink).  This error happens rarely, so it looks like it might be a race condition in the way bio-vcf removes files from the temporary directory.
This code seems like one place for a race condition may arise: if the file hasn't been moved to its .keep name within .1 seconds (e.g., because the filesystem is under other load), the code may continue without ever removing it, but it could finally be there by the time cleanup_tmpdir is called.  Perhaps those lines should wait in a loop for the .keep file to appear, and then remove it?  I'm not totally sure of that diagnosis, but the sleep jumped out as a likely candidate to introduce a race condition, at least.

@brettcs Thanks for finding this. It looks like it needed an extra call to process_output to remove the final output chunk. Please test https://github.com/pjotrp/bioruby-vcf/commit/f03082579070385697448eaddcf0496aedf66eee

No more complaints.


Downloading biogears

As soon as the download finished chrome and windows flagged it as a virus, I went into the details of both of it and it was a severe Trojan, I don’t know if maybe you guys servers got tampered with during an update,I tried your old version and no virus flagged, but this update flagged it as soon as I downloaded it, maybe scan the file to see if it may have been tampered with.

I'll look in to it.  Windows defender is pretty strict these days Maybe something with WIX.  Might as well hide the release until we figure it out this week.  Thanks

Ok thanks I hope you can figure out what it was, today I can go back and look at which Trojan it was because it was a lengthy name if I can remember