Job is run immediately if app is paused before scheduling

TL;DR
Job is run immediately if user pauses the app (presses home) before jobs are rescheduled.
For some reason jobs are run immediately if

They are created or updated with setUpdateCurrent(true)
User presses home button before this line appears in the logcat07-26 13:17:54.013 17056-17100 D/JobRescheduleService: Reschedule 0 jobs of 1 jobs

If user has pressed home and just created a job, logcat output is following
07-26 13:06:12.674 6041-6041 D/MainActivity: Pausing activity...
07-26 13:06:12.686 6041-6041 D/MainActivity: Saving instance state...
07-26 13:06:13.462 6041-6072 I/JobManager: Found pending job request{id=1, tag=DailyNotificationJob}, canceling
07-26 13:06:13.547 6041-6072 D/JobProxy14: Scheduled alarm, request{id=1, tag=DailyNotificationJob}, delay 00:00:00, exact true, reschedule count 0
07-26 13:06:13.548 6041-6072 D/JobRescheduleService: Reschedule 1 jobs of 1 jobs
07-26 13:06:18.575 6041-6339 D/PlatformAlarmService: Run job, request{id=1, tag=DailyNotificationJob}, waited 00:00:05, delay 00:00:00
07-26 13:06:18.593 6041-6339 I/JobExecutor: Executing request{id=1, tag=DailyNotificationJob}, context PlatformAlarmService
07-26 13:06:18.595 6041-6342 I/System.out: Running daily job
07-26 13:06:18.607 6041-6342 W/Notification: Use of stream types is deprecated for operations other than volume control
07-26 13:06:18.607 6041-6342 W/Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
07-26 13:06:18.617 6041-6342 I/System.out: Scheduling daily job
07-26 13:06:18.617 6041-6342 I/System.out: startDelay: 85482000
07-26 13:06:18.668 6041-6342 D/JobProxy14: Scheduled alarm, request{id=2, tag=DailyNotificationJob}, delay 23:44:42, exact true, reschedule count 0
07-26 13:06:18.668 6041-6342 I/JobExecutor: Finished job{id=1, finished=true, result=SUCCESS, canceled=false, periodic=false, class=DailyNotificationJob, tag=DailyNotificationJob}
07-26 13:06:18.670 6041-6339 D/PlatformAlarmService: Finished job, request{id=1, tag=DailyNotificationJob} SUCCESS

android-job behaves normally if user has not just created a job and presses home before rescheduling. Corresponding logcat output is
07-26 13:20:28.110 19639-19639 D/MainActivity: Pausing activity...
07-26 13:20:28.139 19639-19639 D/MainActivity: Saving instance state...
07-26 13:20:34.751 19639-19682 I/JobManager: Found pending job request{id=5, tag=DailyNotificationJob}, canceling
07-26 13:20:34.842 19639-19682 D/JobProxy14: Scheduled alarm, request{id=5, tag=DailyNotificationJob}, delay 23:30:26, exact true, reschedule count 0
07-26 13:20:34.843 19639-19682 D/JobRescheduleService: Reschedule 1 jobs of 1 jobs

To reproduce this issue you really have to know what you're doing but basically just create a new job and immediately press home.
I am currently running android-job 1.1.11 with GCM but the issue was also present in 1.2.0-alpha3 and without GCM. Couldn't find similar issues with quick search.

A job needs to be rescheduled only under some circumstances, e.g. if the device rebooted. You shouldn't worry about that log statement. It's only helpful to debug issues.
If the job runs immediately, that means the system thinks it was a good time to run it. Then the job won't be rescheduled. Isn't your job running as expected?

Thanks for quick response.
My job is not running as expected. I have following builder in my Job's schedule-function
JobRequest.Builder builder =  new JobRequest.Builder(TAG);
builder
        .setExtras(extras)
        .setExact(startDelay)
        .setUpdateCurrent(update)
        .build()
        .schedule();

I can set the startDelay variable to for example 2pm, and the job is still run immediately if I press home and it's 1am. However if the job has been previously created and is scheduled to be run at 2pm, it will run at 2pm.

How do you initialize startDelay? What's the actual value?

I am actually using the calculations from 1.2.0's DailyJob
private static final long DAY = TimeUnit.DAYS.toMillis(1);

public static void schedule(int initHour, int initMinute, boolean update, boolean updateTime) throws IllegalArgumentException {
    if (!JobManager.instance().getAllJobRequestsForTag(TAG).isEmpty() && !update && !updateTime) {
        return;
    }

    System.out.println("Scheduling daily job");

    long timeMs = TimeUnit.HOURS.toMillis(initHour) + TimeUnit.MINUTES.toMillis(initMinute);
    if (timeMs >= DAY || timeMs < 0) {
        throw new IllegalArgumentException("startMs or endMs should be less than one day (in milliseconds)");
    }

    Calendar calendar = Calendar.getInstance();
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    int minute = calendar.get(Calendar.MINUTE);
    int second = calendar.get(Calendar.SECOND);

    // current time + startDelay = 00:00
    long startDelay = TimeUnit.SECONDS.toMillis(60 - second)
            + TimeUnit.MINUTES.toMillis(60 - minute)
            + TimeUnit.HOURS.toMillis((24 - hour) % 24)
            - TimeUnit.HOURS.toMillis(1); // subtract because we're adding minutes and seconds

    startDelay = (startDelay + timeMs) % TimeUnit.DAYS.toMillis(1);

    if (startDelay <= 0) {
        startDelay = TimeUnit.DAYS.toMillis(1);
    }
    System.out.println("startDelay: " + startDelay);

    PersistableBundleCompat extras = new PersistableBundleCompat();
    extras.putInt("EXTRA_HOUR_MS", initHour);
    extras.putInt("EXTRA_MINUTE_MS", initMinute);

    JobRequest.Builder builder =  new JobRequest.Builder(TAG);
    builder
            .setExtras(extras)
            .setExact(startDelay)
            .setUpdateCurrent(update)
            .build()
            .schedule();
}

I am getting the right values for startDelay, for example 17682000 and it is correctly scheduled
07-26 15:06:18.454 7263-7263 D/JobProxy14: Scheduled alarm, request{id=1, tag=DailyNotificationJob, transient=false}, delay 04:54:42, exact true, reschedule count 0

but it is still run immediately if I press home immediately.

I'm unable to reproduce the issue with the demo project, so I guess the problem is with my project.

Yeah, hard to say. Try to isolate the problem and create a sample app if you think the problem is in the library. Otherwise I can't help.

I'll re-open this issue if I manage to repro.


Using FinalValue when insert (?)

Hi I found that in
internal KbActionResponse ExecuteInsert(SessionState session, PreparedQuery preparedQuery)

The line
fieldValue = functionConstantParameter.RawValue;

Would lead insert operation with redundant quotes(or maybe I am wrong because not really understand the query execution process)
But when I change it to
fieldValue = functionConstantParameter.FinalValue;

Then I could use it without quote issue so far...

You are correct, but this SmartValue class has been removed in an active branch which is intended to be committed next week.
We have actually replaced the query parser, condition parser, added windowing functionality, and greatly optimized index usage.
We've also simplified the query process a good bit.
...check back in ~10 days.

Also, this new branch has a new set of query APIs called fetch, which work much like dapper for SQL Server and also support parameters.
class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

var people = client.Query.Fetch<Person>(
	"SELECT FirstName, LastName FROM People WHERE Id = @Id" , new { Id = 10 });

foreach (var person in people)
{
	Console.WriteLine($"[{person .FirstName}],[{person .LastName}]");
}


should servlet and rest throw exceptions when duplicate and ambiguous paths occur

throw exception when duplicate servlet path occur in create stage.
throw exception when ambiguous path occur in rest requesting stage.

There is some code changes for camel-elasticsearch which should not be in this PR

There is some code changes for camel-elasticsearch which should not be in this PR

my mistake, thaks! @davsclaus

@EvanMi oh sorry we merged this too soon. There is test error in camel-serlvet in RestServletGetWildcardsTest.
You changes seems to pick the wrong matching. Can you take another look and send a new PR.
Also can you create a JIRA ticket so we can better track this change.

@EvanMi oh sorry we merged this too soon. There is test error in camel-serlvet in RestServletGetWildcardsTest.
You changes seems to pick the wrong matching. Can you take another look and send a new PR. Also can you create a JIRA ticket so we can better track this change.

Sure,i'll take care of this.


C16-93715 OBSTRUCTION OBSESSION AND VIOLATION OF PRIVACY.

########################################################
https://github.com/BSCPGROUPHOLDINGSLLC/ELSER-AND-DICKER/pull/37
########################################################
https://github.com/BSCPGROUPHOLDINGSLLC/ELSER-AND-DICKER/blob/WILSON-ELSER-DICKER-LLP/- -<PHONE_NUMBER> --- 20201005 - email from iPhone 4 - facetime.pdf
*************************************************************8
PRETTY MUCH, SUMS THIS GROUP UP HERE: https://www.youtube.com/watch?v=O6Stx_mwAVY

#14 AVOIDANCE OF PROSECUTION
#4 READ RECEIPTS BY THEIR COUNSELORS
#2 FILMED, PHOTOGRAPHED AND DISTRIBUTED THE DOCUMENTS BY AN INDETERMINATE NUMBER OF PEOPLE
#13 A POSTHASTE MERGER TO FURTHER EXTEND THE INEVITABLE
November 30, 2020 - SCHEDULE OF INVESTMENTS
#1 photographs and videos tampered and distributed without consent
#7 STFGX - STFBX and MSG read receipts by the counselors & representatives of the Zuckers
#5 MSG read receipts by
#2 FILMED AND DISTRIBUTED THE VEIDEOS AND PHOTOGRAPHS FROM " THE INTERIOR OF MY APARTMENT "
#13

https://github.com/BSCPGROUPHOLDINGSLLC/WILSONELSER-ZUCKER/issues/13
#2
#11
#4
#14
#13

@COLUMBIA.EDU, @WILSONELSER.COM, @MSKYLINE.COM

Uploading [00039] THROUGH  [00050].pdf…


User auth tokens

// this endpoint requires user auth tokens for security reasons
val authentication = SecurityContextHolder.getContext().authentication as JwtAuthenticationToken

Just wondering, should we add a function that fits this narrative? fun userAuthToken(): JwtAuthenticationToken, so we don't need to explain the SecurityContextHolder.getContext().authentication calls?

Too old; let's revisit when necessary


Dismissible dialog drag in+drag out dismisses

🐛 Bug Report
You can reproduce this in the docs: https://react-spectrum.adobe.com/react-aria/useModalOverlay.html#dismissable
In the dismissible example:

Open Dialog
Press start on inside of dialog, drag outside of dialog, press end
Dialog does not close
Press start on outside of dialog, drag inside of dialog, press end
Dialog does not close

Then try this:

Press start on outside of dialog, drag inside of dialog, press end
Press start on inside of dialog, drag outside of dialog, press end
Dialog closes (wrong)

🤔 Expected Behavior

Press start on outside of dialog, drag inside of dialog, press end
Press start on inside of dialog, drag outside of dialog, press end
Dialog does not close

😯 Current Behavior
See above
💁 Possible Solution
It seems to be holding onto some state between the two interactions that make it think the drag started and ended outside of the dialog.
🔦 Context
Discovered when fixing unrelated bug.
💻 Code Sample
The dismissible example in the docs: https://react-spectrum.adobe.com/react-aria/useModalOverlay.html#dismissable
🌍 Your Environment

Software
Version(s)

react-spectrum
3.22.0

Browser
Safari, Chrome

Operating System
macOS

🧢 Your Company/Team
Signal
🕷 Tracking Issue (optional)
N/A

Yep, I see it too, probably because of this line
https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useInteractOutside.ts#L62
we should probably always set the pointerDown to false regardless of where the pointer up came from


Can't install jpegtran on Ubuntu server

This is what I've got:
><EMAIL_ADDRESS>postinstall /media/sf_D_DRIVE/Sites/_kud/happy-plan/node_modules/grunt-contrib-imagemin/node_modules/jpegtran-bin
> node build.js

{ [Error: Command failed: ./configure: line 1246: cannot create temp file for here-document: Text file busy
./configure: line 1257: cannot create temp file for here-document: Text file busy
./configure: line 1291: cannot create temp file for here-document: Text file busy
./configure: line 1443: cannot create temp file for here-document: Text file busy
./configure: line 1448: cannot create temp file for here-document: Text file busy
./configure: line 1453: cannot create temp file for here-document: Text file busy
./configure: line 1458: cannot create temp file for here-document: Text file busy
./configure: line 1463: cannot create temp file for here-document: Text file busy
./configure: line 1745: cannot create temp file for here-document: Text file busy
sed: couldn't open file conftest.sed: No such file or directory
rm: cannot remove 'conftest.sed': No such file or directory
./configure: line 1843: cannot create temp file for here-document: Text file busy
./configure: line 1898: cannot create temp file for here-document: Text file busy
./configure: line 1903: cannot create temp file for here-document: Text file busy
./configure: line 2029: cannot create temp file for here-document: Text file busy
./configure: line 2043: cannot create temp file for here-document: Text file busy
./configure: line 2437: cannot create temp file for here-document: Text file busy
./configure: line 2441: cannot create temp file for here-document: Text file busy
configure: error: C compiler cannot create executables
See `config.log' for more details.
./configure: line 6: cannot create temp file for here-document: Text file busy
./configure: line 29: cannot create temp file for here-document: Text file busy
./configure: line 58: cannot create temp file for here-document: Text file busy
] killed: false, code: 77, signal: null }

I've just had this issue. This was because I turned /tmp into a symbolic link to a shared directory (I'm using VirtualBox on Windows to host an Ubuntu Server).


Possible allocation of page outside the memory

Hi,
I think the code in chapter 3 is calculating the wrong number of available pages.
let num_pages = HEAP_SIZE / PAGE_SIZE;
is correct in the init function to decide on the size of the page structure array, but in the alloc and print functions I think it would be better to use:
let num_pages = (_memory_end - ALLOC_START) /  PAGE_SIZE;

num_pages = HEAP_SIZE / PAGE_SIZE adds the bookkeeping bits as the pages. You are correct in that if you just want the heap pages themselves, you would do _memory_end - ALLOC_START / PAGE_SIZE.


Remove redundant platform tools targets and update references thereto [phab:D1066]

Created by shahms at 2016-09-19 17:43:28:
Remove redundant platform tools targets and update references thereto
Include Rust macros

fromberger accepted this revision at 2016-09-19 17:55:15

shahms closed via commit 546a32051e4d01ed810296c298240142d0a1b1b1 at 2016-09-19 17:56:47


Correct an error in the example

Summary of changes
Simple README change
README has an invalid example... should be false

Thanks!


kernel: reimplement k_uptime_get_32()

The current implementation does not return the low 32 bits of
k_uptime_get() as suggested by it's documentation; it returns the number
of milliseconds represented by the low 32-bits of the underlying system
clock.  The truncation before translation results in discontinuities at
every point where the system clock increments bit 33.
Reimplement it using the full-precision value, and update the
documentation to note that this variant has little value for
long-running applications.
Closes #18739.
Signed-off-by: Peter Bigot<EMAIL_ADDRESS>

This is an alternative solution; contrast with #18742.

Easy:

Files changed 2

vs

Files changed 47

Instant win.

We should think if we do want to deprecate this API as well.

We should think if we do want to deprecate this API as well.

Can't without changing all uses of the deprecated API (that was what #18742 did).  It should probably be deprecated in 2.1 around the time #17155 gets merged.

We should think if we do want to deprecate this API as well.

Why would we want to deprecate it. Between k_uptime_get_32() and k_uptime_get_64, the latter is "more superfluous". It's perfectly possible to write a lot of useful software with 32-bit version (and thus remove 64-bit version, and implement optimized 32-bit).
I'd like to contrast that with a case in https://github.com/zephyrproject-rtos/sdk-ng/pull/101 . There, there's official standard for 64-bit support, people rely on it, and Zephyr misses it. And the comments solicited? we did not need that the last 5 years, why change now?
So, we didn't need need to force 64-bit timestamps for 5 years, indeed, even "deprecation" patch https://github.com/zephyrproject-rtos/zephyr/pull/18742 just casts 64-bit value to 32-bit. So why would we deprecate 32-bit timestamps now, if they were part of the API all along? (Oh yeah, I didn't look into https://github.com/zephyrproject-rtos/zephyr/pull/17155 and don't have an idea what it may bring...).

@pabigot  @andyross i am adding back-port label. If not required, please, comment here, so we kill the 1.14.1 back-port PR


Automatically infer syntactic match refinements

When positive/negative matches are included, we should be able to infer POS information for the spaCy match.
This is cool by itself, but there is at least one other thing we can do: if the match is a verb, if we notice that in the positive match, the verb is transitive (resp. intransitive) and the negative match is intransitive (resp. transitive), we could automatically only match when the verb is used transitively (resp. intransitively)

Hmm... I kind of like having the test matches be true, e.g. test.positive sentences are sentences which CURRENTLY are matched against, and test.negative sentences are ones that don't trigger a match.
Maybe this would look like a separate file, replacy_from_examples.json, which would look like:
{
  "require": {
    "positive": [
      "I require more food",
      "Proof of ID will be required."
    ],
    "negative": [
      "But I satisfy all the requirements in the job posting!"
    ],
    "features": ["pos_", "tag_", "dep_"],
    "allowed_hooks": ["hook names", "this might be crazy though, for v1 we probably can't support hooks, possibly ever"]
  }
}

Then we would run python -m replacy.builder replacy_from_examples.json and it would auto-generate a match_dict.json?

Could use https://github.com/cyclecycle/spacy-pattern-builder for some of this


copr: implement Hash for Decimal and Time

Signed-off-by: TennyZhuang<EMAIL_ADDRESS>
What have you changed?
Please explain in detail what the changes are in this PR and why they are needed:

Summarize your change
How does this PR work? Include a brief introduction for any changed logic (optional)
Separately describe each logical change (optional)
Describe any limitations of the current code (optional)

Don't assume reviewers understand the original issue.
What is the type of the changes?
Pick one of the following and delete the others:
implement Hash for Decimal and Time
How is the PR tested?
Please select the tests that you ran to verify your changes:

Unit test
Fuzz test

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
Does this PR affect tidb-ansible?
Refer to a related PR or issue link (optional)
Benchmark result if necessary (optional)
Any examples? (optional)

/merge

/test


[Bug]Some Themes' background doesn't appear

Describe the Bug

To Reproduce

Expected Behavior

Screenshots

Discord Version

Additional Context

not a BD issue


libressl: fix build on aarch64-darwin

Description of changes

Apply upstream pr to fix endian.h detection on aarch64-darwin. We can hold this pr until the upstream pr is merged.
Fix issue #181187.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 181239 run on aarch64-darwin 1

2 packages marked as broken and skipped:

lispPackages.nyxt
twa

3 packages failed to build:

geomyidae
kamid
tinystatus

11 packages built:

catgirl
disnix
dydisnix
dysnomia
libressl
netcat
notemap
openntpd (openntpd_nixos)
restream
sacc
telescope

Result of nixpkgs-review pr 181239 run on x86_64-linux 1

1 package marked as broken and skipped:

hydra-unstable

24 packages built:

catgirl
compactor
disnix
disnixos
dydisnix
dysnomia
geomyidae
gmid
hydra_unstable
kamid
libressl
lispPackages.nyxt
mydumper
netcat
notemap
nyxt
openntpd (openntpd_nixos)
opensmtpd
pounce
restream
sacc
telescope
tinystatus
twa

Result of nixpkgs-review pr 181239 run on aarch64-darwin 1

2 packages marked as broken and skipped:

lispPackages.nyxt
twa

3 packages failed to build:

geomyidae
kamid
tinystatus

11 packages built:

catgirl
disnix
dydisnix
dysnomia
libressl
netcat
notemap
openntpd (openntpd_nixos)
restream
sacc
telescope


pkg/publish: Don't exit if layer meta is missing

In some cases layers metadata that are supposed to be gathered in the container CI run are not present for each app layer, or some of the app layers has changed after the container run completion and before running the publish run.
Also, it seems like the logic in the build CI may pull app image layer different than the publish run pulls for images stored in 3rd party registries (to be investigated).
Having app layers metadata is an optional since aklite falls back to usage of the approximate approach to calculate app update diff. Therefore, the publish run should not fail if inconsistency between app layers gathered by the build and publish run is found.

This brings the code in sync with the binary we use in the CI now.
Somehow the original change https://github.com/foundriesio/compose-publish/commit/6f7d831678b1e7ac4ad9a98f1f5f44f0bba58404 was lost and is not present in the code right now.

It still makes sense to do deep dive into the inconsistency issue (will create a ticket for it). However, even if it is fixed or improved, I think it makes sense NOT to exit with error if there is some discrepancies. E.g. the 3rd party tagged image can change between CI build and publish runs.


Support Git source in Gemfile

When use Git source in Gemfile:
gem 'rspec-its', github: "rspec/rspec-its", ref: "3d36b4a7b004ffa204a0e392f27c8b6b0b674ecf" # v1.3.0

Occur error
$ cd examples/simple_script
$ bazel test //...
...
INFO: Repository bundle instantiated at:
  /work/examples/simple_script/WORKSPACE:22:12: in <toplevel>
Repository rule ruby_bundle_install defined at:
  /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/bazelruby_rules_ruby/ruby/private/bundle/def.bzl:200:38: in <toplevel>
ERROR: An error occurred during the fetch of repository 'bundle':
   Traceback (most recent call last):
	File "/root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/bazelruby_rules_ruby/ruby/private/bundle/def.bzl", line 198, column 31, in _ruby_bundle_impl
		generate_bundle_build_file(runtime_ctx, result)
	File "/root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/bazelruby_rules_ruby/ruby/private/bundle/def.bzl", line 163, column 13, in generate_bundle_build_file
		fail("build file generation failed: %s%s" % (result.stdout, result.stderr))
Error in fail: build file generation failed: registering gem diff-lcs with binaries: ["bin/htmldiff", "bin/ldiff"]
registering gem parser with binaries: ["bin/ruby-parse", "bin/ruby-rewrite"]
registering gem rspec-core with binaries: ["bin/rspec"]
/root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/stub_specification.rb:113:in `initialize': no implicit conversion of nil into String (TypeError)
	from /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/stub_specification.rb:113:in `open'
	from /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/stub_specification.rb:113:in `data'
	from /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/stub_specification.rb:169:in `extensions'
	from /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/basic_specification.rb:330:in `have_extensions?'
	from /root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/org_ruby_lang_ruby_toolchain/build/lib/ruby/3.0.0/rubygems/basic_specification.rb:247:in `require_paths'
	from create_bundle_build_file.rb:260:in `register_gem'
	from create_bundle_build_file.rb:215:in `block in generate!'
	from create_bundle_build_file.rb:215:in `each'
	from create_bundle_build_file.rb:215:in `generate!'
	from create_bundle_build_file.rb:332:in `<main>'
ERROR: /work/examples/simple_script/WORKSPACE:22:12: fetching ruby_bundle_install rule //external:bundle: Traceback (most recent call last):
	File "/root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/bazelruby_rules_ruby/ruby/private/bundle/def.bzl", line 198, column 31, in _ruby_bundle_impl
		generate_bundle_build_file(runtime_ctx, result)
	File "/root/.cache/bazel/_bazel_root/7f81b7228d5513bd8ae9460589a2de46/external/bazelruby_rules_ruby/ruby/private/bundle/def.bzl", line 163, column 13, in generate_bundle_build_file
		fail("build file generation failed: %s%s" % (result.stdout, result.stderr))
Error in fail: build file generation failed: registering gem diff-lcs with binaries: ["bin/htmldiff", "bin/ldiff"]
...

Reason is gem's path is wrong to create BUILD file for git source gem:
GEM_PATH = ->(ruby_version, gem_name, gem_version) do
  Dir.glob("lib/#{RbConfig::CONFIG['RUBY_INSTALL_NAME']}/#{ruby_version}/gems/#{gem_name}-#{gem_version}*").first
end

SPEC_PATH = ->(ruby_version, gem_name, gem_version) do
  Dir.glob("lib/#{RbConfig::CONFIG['RUBY_INSTALL_NAME']}/#{ruby_version}/specifications/#{gem_name}-#{gem_version}*.gemspec").first
end

...

    gem_path = GEM_PATH[ruby_version, spec.name, spec.version]
    spec_path = SPEC_PATH[ruby_version, spec.name, spec.version]

So, build gem_path and spec_path using StubSpecification object of spec variable.

Thank you for this contribution!
I have inadvertently broke the bashmatic dependency which is why CI is broken right now. Let me fix that first, and once this PR goes green I'll merge it.


wpa_supplicant: better compatibility with entreprise WiFi networks

OpenSSL: Drop security level to 0 with OpenSSL 3.0 when using TLS 1.0/1.1
Description of changes
Added patch, cherry-picked upstream commit, also used in debian and ubuntu packages to allow me and potentially other users to connect to entreprise/university (old) Wi-Fi networks similar to the one I use. Source: https://w1.fi/cgit/hostap/commit/?id=bc99366f9b960150aa2e369048bbc2218c1d414e (upstream main branch)
The default settings are allowing TLS 1.0 and 1.1 to be negotiated
just to see them fail immediately when using OpenSSL 3.0. This is not
exactly helpful especially when the OpenSSL error message for this
particular case is "internal error" which does not really say anything
about the reason for the error.
It is is a bit inconvenient to update the security policy for this
particular issue based on the negotiated TLS version since that happens
in the middle of processing for the first message from the server.
However, this can be done by using the debug callback for printing out
the received TLS messages during processing.
Drop the OpenSSL security level to 0 if that is the only option to
continue the TLS negotiation, i.e., when TLS 1.0/1.1 are still allowed
in wpa_supplicant default configuration and OpenSSL 3.0 with the
constraint on MD5-SHA1 use.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Why don't we apply https://w1.fi/cgit/hostap/commit/?id=566ce69a8d0e64093309cbde80235aa522fbf84e so that people can set allow_unsafe_renegotiation=1 themselves?

Why don't we apply https://w1.fi/cgit/hostap/commit/?id=566ce69a8d0e64093309cbde80235aa522fbf84e so that people can set allow_unsafe_renegotiation=1 themselves?

The unsafe renegotiation issue is a different issue than the one I was facing. Even if I allow unsafe renegotiation, I cannot connect to the network without the patch in this PR. The issues are similar but not same.
If you want, I can add an additional patch to solve the unsafe renegotiation error too. But if we do that, I would recommend using the patch from debian instead of letting users unable to connect to networks.
To find out why it does not connect, a user needs to run journalctl and find this line, which is not user friendly.
dic 12 13:39:12 absolut wpa_supplicant[1579]: OpenSSL: openssl_handshake - SSL_connect error:0A000152:SSL routines:unsafe legacy renegotiation disabled
The issue that I was facing before the current PR is even worse as the error message is not explicit Jan 28 12:20:50 nixos wpa_supplicant[14394]: OpenSSL: openssl_handshake - SSL_connect error:0A0C0103:SSL routines::internal error

I'm against applying this patch unconditionally because it weakens security for everyone else.

Ok, can we at least apply the patch which is in this PR, which anyway will be part of wpa_supplicant in its next release?

If you're like me and can't be bothered with political issues with lowering security requirements, here's a copy/paste solution for you:
  nixpkgs.overlays = [
    ( self: super: {
      # Fix eduroam
      wpa_supplicant = super.wpa_supplicant.overrideAttrs (old: {
        patches = (old.patches or []) ++ [
          (super.fetchpatch {
            url = "https://raw.githubusercontent.com/NixOS/nixpkgs/8ac0502e07fc51cc6a39fb9c984feb500c0fd273/pkgs/os-specific/linux/wpa_supplicant/0002-Lower_security_level_for_tls_1.patch";
            sha256 = "sha256-ESL7OZhVZz+YhDqZSQzRyh8ZX9RmZi2EO8o7aLRODHY=";
          })
        ];
      });
    })
  ];

https://raw.githubusercontent.com/NixOS/nixpkgs/8ac0502e07fc51cc6a39fb9c984feb500c0fd273/pkgs/os-specific/linux/wpa_supplicant/0002-Lower_security_level_for_tls_1.patch

Just to be clear, the patch that you mention and that is part of this pr "OpenSSL: Drop security level to 0 with OpenSSL 3.0 when using TLS 1.0/1.1" is from wpa_supplicant main dev Jouni Malinen, and is already merged in main branch of wpa_supplicant. As such, it will anyway be applied in next release of wpa_supplicant. You can also apply the patch directly from there.

PS: I updated the pr to reflect this better and fetch the patch directly from upstream

this patch no longer builds on the latest nixpkgs-unstable

PS: I updated the pr to reflect this better and fetch the patch directly from upstream

~this patch no longer builds on the latest nixpkgs-unstable~
whoops ignore this, i didnt read the comment

I think this patch should be included in the new 2.11 version so I can probably close this PR

I think this patch should be included in the new 2.11 version so I can probably close this PR

окт 22 15:50:07 NotThink wpa_supplicant[46518]: wlp3s0: CTRL-EVENT-EAP-PEER-ALT depth=0 DNS:radius.uns.ac.rs
окт 22 15:50:07 NotThink wpa_supplicant[46518]: wlp3s0: CTRL-EVENT-EAP-PEER-ALT depth=0 DNS:www.radius.uns.ac.rs
окт 22 15:50:07 NotThink wpa_supplicant[46518]: SSL: SSL3 alert: write (local SSL3 detected an error):fatal:internal error
окт 22 15:50:07 NotThink wpa_supplicant[46518]: OpenSSL: openssl_handshake - SSL_connect error:0A00014D:SSL routines::legacy sigalg disallowed or unsupported

despite that the package still seems to be broken

maybe its in master and not nixOS 24.05

24.05 has 2.10 so it is not included whereas unstable has 2.11


fix: strip onOutClick from rendered div

Thanks!

Hello, would it be possible to release a new version with this fix ?

Oh, sorry. Totally forgot about that. Released


Enable smart_terminal functionality outside the Windows console

Currently line_printer.cc contains this code:
#ifndef _WIN32
  smart_terminal_ = isatty(1) && term && string(term) != "dumb";
#else
  if (term && string(term) == "dumb") {
    smart_terminal_ = false;
  } else {
    console_ = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    smart_terminal_ = GetConsoleScreenBufferInfo(console_, &csbi);
  }
#endif

which means in practice that on Windows smart_terminal is only set to true when outputting to a console. However, some host applications (like Emacs) are perfectly capable of handling Ninja's one-line progress status and color codes as well.
The problem is how to tell Ninja to behave as if in a smart terminal no matter the absence of a console. I propose to set smart_terminal to true when term is non-empty and different from "dumb". Ditto for supports_color. Is this acceptable? Other suggestions?

Deciding on the value of $TERM alone is not enough, since ninja could be executed from an intermediate application that needs to parse its output (CMake is an example) and $TERM would be seen by ninja as it was on the original environment.
Is it ok to implement a command-line switch or another environment variable  (let's call it $NINJA_TERM) to force fancy output?

We need the terminal width for our fancy output. That's why we need GetConsoleScreenBufferInfo to work.

We need the terminal width for our fancy output. That's why we need GetConsoleScreenBufferInfo to work.

What I propose is unrelated to GetConsoleScreenBufferInfo. Right now that call is used for obtaining info about the console and, implicitly, to detect that we have a console. I suggest using the value of $TERM as an overriding parameter that sets smart_terminal to true. On the terminal emulators I tried (and on Emacs) it works fine for enabling the fancy one-line progress meter.

Yes, but later - because smart_terminal_ == true -  it is assumed that GetConsoleScreenBufferInfo will always return true and we don't check its return value again:
https://github.com/ninja-build/ninja/blob/864f7b5a2f49c764bf3b79bbb3ddd4b989403610/src/line_printer.cc#L82
When forcing smart_termial_ to true, you'll probably rely on uninitialized memory and ElideMiddle won't work.

That's simple to deal with.
I'll submit a PR as soon as I can.

Is it? How do you plan to get the terminal width?

Either default to some sensible number (80?) or some very large one. In my experience the terminal emulator does the right thing with the later, albeit it will use the physical next line it the text does not fit in the first one.

Can't you achieve the sams thing by settig NINJA_STATUS to \r?

Thank you for mentioning NINJA_STAUTS, I didn't know that variable and its interesting.
But no, setting it to \r does not help because in
https://github.com/ninja-build/ninja/blob/864f7b5a2f49c764bf3b79bbb3ddd4b989403610/src/line_printer.cc#L79
smart_terminal_ is false, so the else executes and it is
https://github.com/ninja-build/ninja/blob/864f7b5a2f49c764bf3b79bbb3ddd4b989403610/src/line_printer.cc#L120
which adds a newline.

Would this also fix the unreliable behavior in minTTY (Git-Bash terminal)?
As of now, the behaviour we see on our Windows systems is kinda random. Sometimes the lines are redrawn in place, sometimes not.
Also, sometimes the output is buffered, sometimes not, sometimes buffered in crazy ways (not flushed when needed so you are blind for many seconds, then again flushed randomly, showing a half-written line).


Which strategies are working?

This is an overview ticket to keep track of functionality that is currently under construction. This will keep us from testing strategies which are still being implemented.

[x] Storage in EV prioritising local PV production
[x] Storage in batteries prioritising local PV production
[x] Conversion of local PV excess using P2H
[x] Conversion of local PV excess using P2G
[x] Buffering of electricity in EV
[x] Buffering of heat in heat pumps
[x] Postponing of individual base-load
[x] Saving of aggregated base-load
[x] Capping of solar PV

Including @JeroenvdLogt

Closing.


Add benchmarks

@adrhill your dream of cross-backend benchmarks is coming true

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (69ea54c) 100.00% compared to head (4c56b83) 98.86%.

Files
Patch %
Lines

src/DifferentiationInterface.jl
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##              main      #10      +/-   ##
===========================================
- Coverage   100.00%   98.86%   -1.14%
===========================================
  Files            6        6
  Lines           87       88       +1
===========================================
  Hits            87       87
- Misses           0        1       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Using Jay again

Discussed this with @tannernelson, using Jay again gives us more freedom to optimize in the future.
Currently we moved one conversion (Any <-> Node) to another (Jay.JSON <-> Node), so the performance is not expected to change much. However the comments-stripping code in this repo will eventually be removed, which will save us one whole loop through the data.

🔔

@tannernelson I also moved us to Jay's comment-parsing, so we already get rid of that extra loop through the data here.

@tannernelson this is ready to be merged.

As requested by @tannernelson, I ran Vapor development server benchmarks before and after this change (NSJSON -> Jay) and the results are: macOS is 12% faster, Linux 79% faster. The difference between the platforms is caused by Darwin NSJSON being written in C so it's much faster, but that was heavily slowed down by converting objects to type-safe JSON (so native typesafe JSON parsing is the king now). Linux's NSJSON is written in Swift and Jay is much faster than that already.


Python function runtime provider doesn't run script hook

Is your feature request related to a problem? Please describe.
amplify-python-function-runtime-provider doesn't run script hook defined in root package.json
Describe the solution you'd like
amplify-nodejs-function-runtime-provider checks and runs script hook in root package.json, but python provider doesn't have the same behavior.
Describe alternatives you've considered
The script hook is defined on top-level package.json, it sounds the common behavior across all languages. If it is the language-specific hook, it should be defined inside of each function.
Additional context

Hi @yuntaoL we are planning to support custom build scripts for all runtimes in a way that is language agnostic but currently only support them for NodeJS. At the moment there's no way to intercept the build request to the python runtime provider and do a custom build

Glad to hear this.  I encountered the same issue and need as @yuntaoL.

Any update for python scripts in amplify hooks in 2023?


Pokemon GPS Coordinates not showing

When you click the pokemon for info, the gps coordinates for that pokemon are not showing.

same here

same

same

same


 The initial status should automatically be QUEUED.
Send as async task using django-q with ORM backend.
When the task is complete, a status text field on the notification task should indicate that with COMPLETED
Failed tasks should not be retried.
Failed tasks should store the exception message and stack trace in the job details, visible in Admin
Failed tasks should set the status on the task to FAILED_INCOMPLETE

mark a subscription as disabled when the response is 410
See example
https://github.com/jazzband/django-push-notifications/issues/560
410 Gone
Response body:push subscription has unsubscribed or expired.

I imagine something like this:

Admin creates a Notification object
A task is queued in Django Q ORM queue to actually do the push notification
queue worker notices the new task and starts sending to all subscriptions
the status of the notification object is updated depending on result

perhaps any exceptions from send should be caught, and the notifcation object should have a text field with a log of any exceptions?
also, the notification object should not be editable after creation - only the queue worker is allowed to update it, not the admin
this is how we create a worker in dev https://github.com/vulekamali/datamanager/blob/master/docker-compose.yml#L47
this is how we run a worker in prod https://github.com/vulekamali/datamanager/blob/master/Procfile#L2


Compilation in Docker fails because of missing 'deferred_test/deferred_test.wast.hpp'

[1326/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/resource_limits_test.cpp.o
[1327/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/special_accounts_tests.cpp.o
[1328/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/ram_tests.cpp.o
[1329/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/whitelist_blacklist_tests.cpp.o
FAILED: unittests/CMakeFiles/unit_test.dir/whitelist_blacklist_tests.cpp.o
/usr/bin/clang++   -Icontracts -I/eos/contracts -Iunittests/contracts -I/eos/unittests/contracts -I/eos/libraries/testing/include -Iunittests/tests/contracts -I/eos/unittests/wasm_tests -Iunittests/include -I/eos/libraries/chain/include -Ilibraries/chain/include -I/eos/libraries/chain/../wasm-jit/Include -I/eos/libraries/chain/../../externals/binaryen/src -I/eos/libraries/utilities/include -I/eos/libraries/utilities/../wasm-jit/Include -I/eos/libraries/fc/include -I/usr/local/include -I/usr/include/openssl/include -I/eos/libraries/fc/vendor/websocketpp -I/eos/libraries/chainbase/include -I/eos/libraries/wasm-jit/Source/Runtime/../../../chain/include -I/eos/libraries/softfloat/source/include -I/eos/libraries/softfloat/source/8086-SSE -I/eos/libraries/softfloat/build/Linux-x86_64-GCC -I/eos/libraries/builtins -I/eos/libraries/builtins../softfloat/source/include -Ilibraries/testing/include -I/eos/libraries/testing/../wasm-jit/Include -I/eos/libraries/abi_generator/include -I/usr/lib/llvm-4.0/include -Wall -Wno-invalid-partial-specialization -fcolor-diagnostics -O3 -DNDEBUG   -std=gnu++14 -MD -MT unittests/CMakeFiles/unit_test.dir/whitelist_blacklist_tests.cpp.o -MF unittests/CMakeFiles/unit_test.dir/whitelist_blacklist_tests.cpp.o.d -o unittests/CMakeFiles/unit_test.dir/whitelist_blacklist_tests.cpp.o -c /eos/unittests/whitelist_blacklist_tests.cpp
/eos/unittests/whitelist_blacklist_tests.cpp:10:10: fatal error: 'deferred_test/deferred_test.wast.hpp' file not found
#include <deferred_test/deferred_test.wast.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1330/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/tic_tac_toe_tests.cpp.o
[1331/1345] Building CXX object unittests/CMakeFiles/unit_test.dir/wasm_tests.cpp.o
ninja: build stopped: subcommand failed.
The command '/bin/sh -c git clone -b $branch https://github.com/EOSIO/eos.git --recursive     && cd eos && echo "$branch:$(git rev-parse HEAD)" > /etc/eosio-version     && cmake -H. -B"/tmp/build" -GNinja -DCMAKE_BUILD_TYPE=Release -DWASM_ROOT=/opt/wasm -DCMAKE_CXX_COMPILER=clang++        -DCMAKE_C_COMPILER=clang -DCMAKE_INSTALL_PREFIX=/tmp/build  -DSecp256k1_ROOT_DIR=/usr/local -DBUILD_MONGO_DB_PLUGIN=true -DCORE_SYMBOL_NAME=$symbol     && cmake --build /tmp/build --target install && rm /tmp/build/bin/eosiocpp' returned a non-zero code: 1

This started happening yesterday or the day before yesterday.

I have got  the same problem

can you give some more context? how can we reproduce the error. Is this the official image?

Just try to build the image as described here: https://github.com/EOSIO/eos/wiki/Local-Environment#3-docker Also, it seems this is not Docker specific, but something is broken in the code. Building on the v1.0.1 branch causes no errors.

I had the same issue building on Ubuntu 18.04 LTS

Cannot reproduce anymore after https://github.com/EOSIO/eos/pull/3992 👍


distilling path issue

Dear Author: in this page
https://github.com/ethz-asl/hfnet/blob/master/doc/datasets.md
google_landmarks/
├── images/
├── global_descriptors/
└── superpoint_predictions/
bdd/
├── dawn_images_vga/
├── night_images_vga/
├── global_descriptors/
└── superpoint_predictions/
The export models are under google/bdd folders.
However, with the commands in this page
https://github.com/ethz-asl/hfnet/blob/master/doc/training.md
such as python hfnet/export_predictions.py hfnet/configs/netvlad_export_distill.yaml global_descriptors --keys global_descriptor --as_dataset
the global_descriptors are place at $DATA_PATH folder instead of gooogle/bdd folder
and it cause an assertion at
https://github.com/ethz-asl/hfnet/blob/b0870aa23005a365fcb3d1826bdb8f0554ec8944/hfnet/datasets/distillation.py#L50
May I know how to solve this issue? Many thanks.

This indeed seems to be a bug, let me check this. In the meantime, you can comment out the assert and manually copy the files after export.

Dear Author:
when I run the code (db = [hfnet.inference(i) for i in images_db]) of demo.ipynb,it report next error：InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument: You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,?,3]
[[{{node Placeholder}}]]
[[strided_slice_38/_587]]
(1) Invalid argument: You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,?,3]
[[{{node Placeholder}}]]
0 successful operations.
0 derived errors ignored.
May I know how to solve this issue? Many thanks.

Dear Author:
when I run the code (db = [hfnet.inference(i) for i in images_db]) of demo.ipynb,it report next error：InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument: You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,?,3]
[[{{node Placeholder}}]]
[[strided_slice_38/_587]]
(1) Invalid argument: You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,?,3]
[[{{node Placeholder}}]]
0 successful operations.
0 derived errors ignored.
May I know how to solve this issue? Many thanks.
the shape of Input image must be 3 channels, check it.

Closing this issue due to inactivity. I am currently not able to provide support for this codebase. Feel free to reopen.


Add OpenVR trackers support

Adds OpenVR tracker support, exposing trackers as navigator Gamepad objects.
Fixes https://github.com/webmixedreality/exokit/issues/884.

This should be working now; up to 8 OpenVR trackers are supported with this PR.
There is a trackers.html example which loads up all controllers and all trackers for testing.


"Missing required information of github package deborah"

Please make sure the version of deb-get you are using is up to date:
(excerpt)
...
Preparing to unpack .../deb-get_0.4.0-1_all.deb ...
Unpacking deb-get (0.4.0-1) over (0.4.0-1) ...
Setting up deb-get (0.4.0-1) ...
...

Done.
Expected behavior
deb-get update is resilient against missing information in GitHub packages when the source website changes and the commands return no data or garbage data.
Actual behavior
deb-get update throws an error because yet another package returns no data. This one is deborah, whatever that is.
[!] ERROR! Missing required information of github package deborah:
URL=
VERSION_PUBLISHED=

This error has existed for an unknown amount of time, because it was masked by the error in #997.
This is a recurring problem (#997 #962  #822) because deb-get doesn't gracefully handle the entirely foreseeable and obvious case where the fragile commands used to fill those variables returns nothing or returns garbage. It downloads data from external websites, not versioned APIs. Why is it not resilient against this? Why can't it WARN me and continue processing the rest of the package data? Updates still work, but installs don't. So now there are only 39 packages that users can install from scratch using deb-get.
$ deb-get list
1password
activitywatch
agena
alduin
android-messages-desktop
antimicrox
anydesk
appimagelauncher
atom
atomic
atuin
audio-recorder
authme
azuredatastudio
balena-etcher
bat
battery-monitor
beersmith3
bitwarden
bitwig-studio
blanket
blockbench
bluejeans-v2
bottom
brave-browser
brisqi
browsh
caddy
caprine
cawbird
chronograf
code
codium
com.github.tkashkin.gamehub
copyq
cosign
croc
crossover
crow-translate
cryptomator
dbeaver-ce
deadbeef-static
deb-get                         [ installed ]
$

Steps to reproduce
Run deb-get update. Look at error on screen.
System information
Has not changed appreciably since #997, but I'll be glad to re-run if you think that has anything to do with this known and common error that you don't acknowledge, respond to Issues about, or say anything about like "hey, a fix is coming!"
Should we expect 2 more months before this mole is whacked without fixing the mallet/game/whatever updating deb-get for resilience is in this metaphor?

Already fixed by #1027.
Also deborah  definition is fine with the latest release version as well as the HEAD of main
$ ./deb-get show deborah

Deborah
  Package:	deborah
  Repository:	01-main
  Updater:	deb-get
  Installed:	No
  Published:	1.1.5
  Architecture:	amd64
  Download:	https://github.com/ymauray/deborah/releases/download/v1.1.5/deborah_1.1.5-1_jammy1.0_amd64.deb
  Website:	https://github.com/ymauray/deborah/
  Summary:	A Flutter front-end for deb-get.

This is not a duplicate.
Also, it is not fixed. This is still happening for me on 2 different hosts with deb-get v0.4.0, which is the latest version.
What other information do you need to help me troubleshoot this?
Any word on when the underlying & very foreseeable root cause of these whack-a-mole problems will be fixed?


Fix project setup and add instructions to readme

PR #23 updated Contributing section on README

PR #23 is toward a uniform "Contributing" guidelines. Closing.
If there are things remaining to be done on this, open Issues with more details.


fix the media queries utils so it gets the values from the current theme

Description
the media queries helpers use the base theme breakpoints instead of the current theme ones set on the standalone component props, this PR fixes that.

seems like i need to fix the tests so the theme is injected in the context 😞

@CesarLanderos to fix this change args[0] to props => props., e.g.:
@media (max-width: ${args[0].theme.breakpoints[breakpoint]}) {

should become
@media (max-width: ${props => props.theme.breakpoints[breakpoint]}) {

\o/
done 😃

@CesarLanderos thanks! 👍


trial

closes #ISSUE-NO
What does this PR do?
Description of the task to be completed?
How can this be manually tested?
Any background context you want to provide?
Is there any relevant issue to this PR?
Screenshots (if appropriate)
Questions

@Sonichigo I think this action is working now. (I didn't get this assigned because I raised the PR)


Minimize button is dimmed

Just a minor issue:
The minimize button is dimmed a little bit compared to maximize/close in both themes (dark and light).
Once you see it you cannot un-see it 😉

SourceGit 8.28
Windows 10 22H2

how about now?

Yes looks much better. Not sure if it's 100% the same shade now but can't really tell any difference.
175% scaling:

100% scaling:

In light mode a minor difference might be visable 🤔
Light mode warning!
175% scaling:

100% scaling:

So, I'll close this issue as completed.

Thank you for fixing it so fast (again) 👍


Add ability to update worker name

Description
I added the ability to update the name of the process, to make debugging easier

It now identifies the agent, not the code version or anything
it shows the status (connecting/connected/disconnected)
I could take it further and show every action (deploying resource x_y_z)
this requires an additional dependency, which I don't like, but I see no alternative

Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches master in d51ede4ca22fc209e67a0cd9801359e4bb76445a


Add package-lock.json back

The package-lock.json was removed in https://github.com/wesbos/Syntax/pull/458. Because of that, npm install no longer works: eslint is not compatible with the Node.js version that is set in the engines field.

thank you!


Value.amount and amountPaid.amount from spare are not calculated

Pull Request Test Coverage Report for Build 112

2 of 2 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.471%

Totals

Change from base Build 111:
0.0%

Covered Lines:
376

Relevant Lines:
378

💛  - Coveralls

Pull Request Test Coverage Report for Build 112

2 of 2 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.471%

Totals

Change from base Build 111:
0.0%

Covered Lines:
376

Relevant Lines:
378

💛  - Coveralls


[BUG] error in documentation of list_head function

Describe the bug
Refer to wiki page https://github.com/BelfrySCAD/BOSL2/wiki/lists.scad#function-list_head
A line in the sample code for the list_head function reads as follows:
hlist3 = list_head(["foo", "bar", "baz"], 2);  // Returns: ["foo","bar"]
Expected behavior
The actual return value of this call is ["foo", "bar", "baz"], so the documentation is incorrect.
I suggest changing the second argument to 1 rather than 2. This will make the expected value correct.

I'll change the second arg to 1 as suggested.


'NoneType' object has no attribute 'charmap_decode'

I have tried installing Quanitpy multiple times creating a fresh environment and every time I get the error 'NoneType' object has no attribute 'charmap_decode' .
I am simply trying to execute one of the examples codes -
`import quantipy as qp
from quantipy.core.tools.dp.prep import frange
path_csv = 'quantipy\tests\Example Data (A).csv'
dataset = qp. dataset('Example Data (A)')
dataset.read_quantipy(path_csv)
dataset.crosstab('q2', text = True)`

Heya, are you running on the staging-develop branch? If not, please try!
Thanks
Alex

Did not want to close, sorry!

I installed the develop branch. However, I still keep getting this -
**File "C:\Users~\Python\Python27\site-packages\ftfy\bad_codecs\sloppy.py", line 127, in decode
return codecs.charmap_decode(input, errors, decoding_table)
AttributeError: 'NoneType' object has no attribute 'charmap_decode'**
If it helps, I am trying to run this using Spyder in the environment that was created on a Windows 10 machine.

Can you please check what
ftfy.__version__

shows? Should be '4.4.3'

ftfy version is 4.4.3. I am not sure if it was implied or not, but prefixing the dataset.crosstab('q2', text = True) with print i.e. print dataset.crosstab('q2', text = True) gave the desired output without generating any errors.


patch tests to not have skipped lines

Changes Unknown when pulling ebafb4d160c0ad3719c20bd35e6eaaa995bb187b on bugfix/remove-unused-test-lines into ** on master**.


GaugeDelta event Stats() should not send an absolute value of 0.

It appears to be copied from the Gauge event, which does not look like the correct logic for GaugeDelta.

hey Matthew, should I simply delete this line?   https://github.com/quipo/statsd/blob/master/event/gaugedelta.go#L34

Yes I think that's the correct fix.
If the delta value is negative, it can be sent as is.
If the delta value is positive it needs to have the '+' added or it will set the value of the gauge instead of applying a delta.


Add batched optimization problem computation for parallel CPU/DFE

Just need to add the Python wrapper.  Returning a Matrix_real (rather than a gsl_vector pointer parameter) might be out-of-line with the library design, thinking about changing that.  For the Python interface it might be convenient, but need to consider reuse in the C++ side.


BufferStreams emit finish and readable event

Added events according to :
https://nodejs.org/api/stream.html#stream_event_readable
https://nodejs.org/api/stream.html#stream_event_finish

Nice! Thanks :) I'll merge this now.
Let's make a deal though, if you write a couple of tests for this new behaviour I'll publish 2.2.0 ASAP :)

I write a test for the readable event:
myread.on("readable",function(){
	var data = myread.read();
	console.log(data);
});

myread.put("something readable");

And node throwed the error:
TypeError: myread.read is not a function.


Rework of how readonly types are handled

Overview
This PR is designed to change the way in which readonly types are handled.
Quite often you need to use mutable types when working with 3rd-party libraries (or for performance reasons). The goal of this PR is to allow for these cases without the need for users to use eslint-disable comments throughout their code. This is the reason why I no longer personally use the prefer-readonly-type rule.
One way this PR goes about achieving this is with the new rule prefer-immutable-parameter-types. Instead of checking every type declaration in the codebase, this rule only checks type aliases (and interfaces). Additionally, not all aliases need to compile to a high level of immutability but rather only ones that meet certain configurable criteria. Multiple criteria can be set up to allow for different immutability enforcement on different aliases.
Immutability is determined using a new library I have created call is-immutable-type.
I've recreated the rule @typescript-eslint/prefer-readonly-parameter-types as type-declaration-immutableness to use that library as well. This allows for that rule to use the same immutability logic and allows for a shared setting to configure both rules.
New Rules

prefer-immutable-parameter-types
type-declaration-immutableness

Deprecated Rules

prefer-readonly-type

Breaking Changes

no-method-signature renamed to prefer-property-signatures and move to stylistic ruleset
Drop support of Node 12 and 14 (Node 16.10 or higher now required)
Drop support of TypeScript 3 (TypeScript 4.0 or higher now required)

@jonaskello I've had another go at reworking readonly type rules. These new rules simplify the logic from the previous PR that I've since closed.
Let me know what you have any change recommendations (including to the docs).


Subfigure not shown

Description
Panel (b) of Figure 2 is not shown.
(Optional:) Please add any files, screenshots, or other information here.

Go to: https://arxiv.org/html/2401.17348v1
Scroll down to Figure 2.

(Required) What is this issue most closely related to? Select one.
Figures
Internal issue ID
cf6822eb-426f-4f19-85d6-fb132c34470f
Paper URL
https://arxiv.org/html/2401.17348v1
Browser
Chrome/<IP_ADDRESS>
Device Type
Desktop

The image, https://arxiv.org/html/2401.17348v1/x3.png, is included in the html source but appears to be a transparent (empty) image.


🐞bug: getTransactions fail

import { TonClient, address } from "@ton/ton";

async function test() {
  const client = new TonClient({
    endpoint: "https://toncenter.com/api/v2/jsonRPC",
  });

  let txs = await client.getTransactions(
    address(process.env.MY_ADDRESS!),
    {
      limit: 2,
    }
  );

  console.log({ txs });
}

test();

error stdout
➜  app_test git:(dev) ✗ bun src/app/api/balance/crons/test.ts
11 |  * @param {Object} [request] The request.
12 |  * @param {Object} [response] The response.
13 |  * @returns {Error} The created error.
14 |  */
15 | module.exports = function createError(message, config, code, request, response) {
16 |   var error = new Error(message);
                   ^
error: Request failed with status code 500
      at createError (/node_modules/@ton/ton/node_modules/axios/lib/core/createError.js:16:15)
      at settle (/node_modules/@ton/ton/node_modules/axios/lib/core/settle.js:17:12)
      at handleStreamEnd (/node_modules/@ton/ton/node_modules/axios/lib/adapters/http.js:312:11)
      at endReadableNT (node:stream:2387:53)

what am i missing, should i use v4 client or what?

node v20.10.0, bun v1.0.25, both fail

also fails with tonweb https://github.com/toncenter/tonweb/issues/123

Hi! Looks like this is not an issue of the library, you should ask TON Center team to investigate this case.


Fix meta plots sometimes not created

Fix bug where no more metadata plots were created as soon as one of them failed (e.g. soil type failing led to FRM class plot not being created).
Also add settings to globals.py to control the number of points necessary in a bin to create a box plot (default 5)
Also change save_metadata options of plot_all() as described in issue -> Fix #58

@daberer: fyi this is fixed now

@daberer: fyi this is fixed now

thanks

This should go into release 2 and not require any changes in QA4SM

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

18 of 21 (85.71%)  changed or added relevant lines in 3 files are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.003%) to 80.755%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/qa4sm_reader/plot_all.py
11
12
91.67%

src/qa4sm_reader/plotter.py
6
8
75.0%

Files with Coverage Reduction
New Missed Lines
%

src/qa4sm_reader/plot_all.py
6
75.81%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
1656

Relevant Lines:
1952

💛  - Coveralls


TCP DNS cannot be used on WSL

Description
As an WSL user, I want to use DSNResolving so that I can get besu peers faster.
Acceptance Criteria

when starting besu from WSL I want the DNSResolver feature to work.

Steps to Reproduce (Bug)

run besu on WSL

Expected behavior: [What you expect to happen]
Peers get quickly found because the DNSResolver helps finding those
Actual behavior: [What actually happens]
The DNSResolver throws an exception and does not find any peers
2021-11-11 11:49:29.139+00:00 | Timer-0 | WARN  | DNSResolver | I/O exception contacting remote DNS server /<IP_ADDRESS>:53
java.net.SocketTimeoutException
        at org.xbill.DNS.Resolver.send(Resolver.java:159)
        at org.apache.tuweni.discovery.DNSResolver.resolveRecordRaw(DNSResolver.kt:150)
        at org.apache.tuweni.discovery.DNSResolver.resolveRecord(DNSResolver.kt:73)
        at org.apache.tuweni.discovery.DNSResolver.visitTree(DNSResolver.kt:115)
        at org.apache.tuweni.discovery.DNSResolver.visitTree(DNSResolver.kt:106)
        at org.apache.tuweni.discovery.DNSResolver.collectAll(DNSResolver.kt:95)
        at org.apache.tuweni.discovery.DNSTimerTask.run(DNSDaemon.kt:79)
        at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
        at java.base/java.util.TimerThread.run(Timer.java:506)

Frequency: [What percentage of the time does it occur?]
Always broken on my machine. I had to manually switch to a different DNS to workaround the issue.
Versions (Add all that apply)

Java version: [openjdk version "11.0.11" 2021-04-20]
OS Name & Version: [Ubuntu 20.04 LTS as WSL on Windows 10]

Additional Information
When looking at the code it seems that the underlying implementation is using TCP to communicate with the DNS. TCP is not allowed in WSL by default it seems like. consider the following:
dig @<IP_ADDRESS> google.com

; <<>> DiG 9.16.1-Ubuntu <<>> @<IP_ADDRESS> google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12665
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             0       IN      A       <IP_ADDRESS>

;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Thu Nov 11 17:41:37 GMT 2021
;; MSG SIZE  rcvd: 54

but
dig +tcp @<IP_ADDRESS> google.com
;; Connection to <IP_ADDRESS>#53(<IP_ADDRESS>) for google.com failed: timed out.
;; Connection to <IP_ADDRESS>#53(<IP_ADDRESS>) for google.com failed: timed out.

; <<>> DiG 9.16.1-Ubuntu <<>> +tcp @<IP_ADDRESS> google.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

;; Connection to <IP_ADDRESS>#53(<IP_ADDRESS>) for google.com failed: timed out.

On the other hand:
dig +tcp @<IP_ADDRESS> google.com

; <<>> DiG 9.16.1-Ubuntu <<>> +tcp @<IP_ADDRESS> google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21209
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             36      IN      A       <IP_ADDRESS>

;; Query time: 10 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Thu Nov 11 17:42:50 GMT 2021
;; MSG SIZE  rcvd: 55

If not likely to be fixed in short/medium term, we should document that this platform is not fully supported for Besu and recommend not using it.

@gezero - what are you thoughts on documenting this as something that's not supported?

I was hoping I will figure out how to enable TCP DNS lookup on WSL and document that. I didn't so I think I will open Ian issue on WSL. There is an workaround of manually settings a working DNS server. There is also a command line option in working as part of PR 3057 that will allow to specify DNS server to use. So maybe those two options could be added as a suggestion.

I have created new issue for WSL https://github.com/microsoft/WSL/issues/7698. Maybe they will just explain my problems with some easy fix.

I was wondering where to put some relevant information into the documentation and I am not so sure. I was looking for sections that would say something about OS considerations or known issues but I failed to find something. Maybe a new page should be created with list of supported OS/architectures. I am not sure.

I have added a note to the https://wiki.hyperledger.org/display/BESU/Building+from+source that might bring people back to this issue. for more details.
The problem is not in besu, so I will close this issue for now.


[BUG] dnd5e 3.3 compatibility

Describe the bug
The module won't load with the latest 3.3 version of the D&D 5E system
Versions

Items with Spells: v12.0.1
System: dnd5e v3.3.0 or v3.3.1
Foundry VTT: v12.328

Seconding this, the module will repeatedly un-load itself from the active modules list upon loading the World on each attempt.
Versions:
Items with Spells: v12.0.1
System: dnd5e v3.3.1
Foundry VTT: v12.328 (V12 Stable)

I will look into this when I'm back from my holiday in two weeks. Until that time, you can edit the module.json to remove the maximum system compatibility. There is a good chance that this module will work for dnd5e v3.3.x without issue, but I simply haven't had the time to test it yet (I'm still on v3.1 in my own world).

Haven't found any issues with that. Can use my module.json in the fork and release I created. Just until @morepurplemorebetter is back if anyone needs that:
https://github.com/ItaloBorrelli/fvtt-items-with-spells-5e/releases/download/v12.0.2/module.json

Fixed in v12.1.0.


Gerry xml1.1

Hi @gaferna,
I see that you have initiated a PR to our primary ezEML repository with 343 commits affecting 204 files. Was this PR intentional (to merge into our upstream branch)? Or were you trying to limit the PR to your project's locally forked repository?
Thanks,
Mark

Hello,
The PR was accidental, i was trying to pushing to mother development branch
and github had set the push defaulted to the primary ezEML repository when
I trying to push to the development branch for the mother repository.
On Thu, Jul 6, 2023 at 1:46 PM Mark Servilla @.***>
wrote:

Hi @gaferna https://github.com/gaferna,
I see that you have initiated a PR to our primary ezEML repository with
343 commits affecting 204 files. Was this PR intentional (to merge into our
upstream branch)? Or were you trying to limit the PR to your project's
locally forked repository?
Thanks,
Mark
—
Reply to this email directly, view it on GitHub
https://github.com/PASTAplus/ezEML/pull/110#issuecomment-1624288513, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A75ZKSWJXR5JKIBCO47WW3TXO4PYRANCNFSM6AAAAAAZ47WBNI
.
You are receiving this because you were mentioned.Message ID:
@.***>

No worries @gaferna, I will close this PR.

thank you. I thought I had closed it when I realized it was a mistake
On Thu, Jul 6, 2023 at 2:09 PM Mark Servilla @.***>
wrote:

Closed #110 https://github.com/PASTAplus/ezEML/pull/110.
—
Reply to this email directly, view it on GitHub
https://github.com/PASTAplus/ezEML/pull/110#event-9748088468, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A75ZKSQUQHP2O76TZY5DNPLXO4SPXANCNFSM6AAAAAAZ47WBNI
.
You are receiving this because you were mentioned.Message ID:
@.***>


KAFKA-16072: JUnit 5 extension to detect thread leak

Added LeakTestingExtension based on TestUtils#verifyNoUnexpectedThreads for verify that there are no lingering threads left over. Extension execute after every test.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thank you for the change @wernerdv . As a next step, we need to fix the leaks that were detected by this PR before merging this. I already know of at least two PRs that will help: https://github.com/apache/kafka/pull/15093 and https://github.com/apache/kafka/pull/15077 . Let's wait for them to merge first and then we can rebase this on trunk and run again.

@divijvaidya Thanks for the reply. Now extension runs only for modules that:
testImplementation project(':core')
Is this expected behavior or does it require improvement?

@wernerdv , thanks for the smart way to detect the thread leaking!
For now, only core module will introduce thousands of test errors. We need to fix all the thread leaking before extending to other modules. Thanks.

@gharris1727 @ashwinpankaj
I've updated the utility to check for leaked threads relative to threads created before the test.
This looks more correct.
It might be worth adding more names to the list of expected thread names.

It might be worth adding more names to the set of expected thread names.

I think increasing the scope of this assertion by adding patterns/removing the pattern check/applying to tests outside of core are good ideas. We can land this change first and then explore those in follow-ups.

We can exclude streams from this PR (don't enable this extension) and create a JIRA to address thread leaks in streams. This will at least allow us to make progress for majority of other cases. We will follow up on the streams JIRA after this (I think it has something to do with EmbeddedKafkaCluster not closing properly because all leaking tests use that one).

One reason that some stream tests are failing because they use the same server for the duration of the entire test suite and don't create a server per test, for example MetricsIntegrationTest.shouldAddMetricsOnAllLevels().
Should we change our logic to test for these leaked threads at the end of every test class, instead of at the end of every test?

@divijvaidya The stateful strategy of diffing the threads before and after each test should exclude the test-suite threads which are created before the test method begins. What is probably happening here is that there are some threads being lazily created as a side-effect of the actions of the test but which are not cleaned up immediately, but are later cleaned up by the whole cluster shutting down.
I wouldn't recommend immediately reducing the scope to the Class-only enforcement, as it makes it so much harder to blame specific tests which contain leaks. It's so much more helpful to get a "This test leaked a thread" warning than a "this suite leaked a test" warning, especially when the assertion doesn't tell you where the thread is being allocated.
As far as what to do next:

You could figure out how to disable the lazy threads with some development-only configuration
You could figure out how to clean up these lazy threads, either automatically or with a development-only hint method.
You could give these particular threads special privileges (by adding to the expected thread names)
You could give these particular tests special privileges (with an Ignore annotation)

These are technically leaks, and the extension is correctly finding them. It's up to us to figure out if they're worth fixing or if they're generally harmless.


other boolean operations?

Sorry, this is not an issue actually, just a naive question: popcnt usually goes together with other boolean operations. I am wondering what your opinion on these is: shall I just run the operation as a normal loop over the whole array, one byte a time (because they're already quite fast with -O3). Or do you recommend a library with (AVX-?) optimized versions of AND/OR/XOR etc on the array?
BTW, with g++ 4.4.7 from 2010, the benchmark file just crashes with "illegal instruction". Not a problem, I just had to update my g++.
thanks!
Max

Oh and my concrete use case here is set intersection, so I'm looking for a simple AND followed by your popcnt.

BTW, with g++ 4.4.7 from 2010, the benchmark file just crashes with "illegal instruction". Not a problem, I just had to update my g++.

Thanks for the bug report! I will try to fix the bug in the next days...

shall I just run the as a normal loop over the whole array, one byte a time (because they're already quite fast). Or do you recommend a library with (AVX-?) optimized versions of AND/OR/XOR etc on the array?

It depends if this code is worth optimising to you (normally you start optimising a function or a hot loop if it is a bottleneck of your application). I am not sure if there is any library out there that fits your specific use case so you may have to implement an optimized popcnt algorithm with AND/OR/XOR yourself. Instead of doing one byte a time you could do 8-bytes a time using e.g. uin64_t. libpopcnt.h offers 2 (undocumented) popcnt functions for 64-bit words which may be useful to you:
/* hardware POPCNT instruction */
uint64_t popcnt64(uint64_t x);

/* portable integer only algorithm */
uint64_t popcount64(uint64_t x);

Using the first function you could most likely code a simple much faster popcnt algorithm with AND than your current one byte a time.

Thanks! Hm...at first I didn't understand your reply, let me try to rephrase this to see if I understood:
I was thinking that I would simply AND  two large bitarrays followed by one POPCNT on the result. What you suggest instead is doing this piece-by-piece, right? Yes, I see why operating on long bitarrays - when one doesn't need it - is stupid... caching is bad and I waste bandwith. I can simply take each 512bit-part of the array, AND it and do POPCNT right away...
again, many thanks, I clearly didn't really think this through, I was so focussed on the POPCNT operation which I thought would always be the bottleneck, that I forgot that don't need to operate on the full bitvector so you library is not really applicable.

I can simply take each 512bit-part of the array, AND it and do POPCNT right away, on each 512-bit part.

Yes, except that I suggested processing 64-bits (8-bytes) at a time using e.g. __builtin_popountll(x). Personally I would implement both solutions and benchmark them and then pick the fastest.

(I meant 256 bits, not 512, sorry).
OK I think I understand:  with "processing 64bits" you mean a relatively normal C implementation with a normal integer "AND" operation followed by __builtin_popountll(x) (and keeping the sum of that while looping over the array).
The alternative would be: load 256 bits into the AVX2 registers, then AVX2 "AND" and AVX popcnt. I'm reading between the lines that it's not certain that AVX2 would be a lot faster than the simple 64bits approach, which is why you suggest trying the simple approach first.
Many thanks for your help! Performance optimization is a different world.

The alternative would be: load 256 bits into the AVX2 registers, then AVX2 "AND" and AVX popcnt.

It will be very difficult to implement your algorithm using AVX2 because there is no vector popcount instruction available in AVX2. And you should not mix AVX code with the integer POPCNT instruction as this will give you poor performance (in general you should not mix vector instructions with non vector instructions). Also AVX code is very tricky, you need to take care of memory alignment, not all CPUs support AVX/AVX2 and so on.
Hence I suggest you code a simple algorithm using  __builtin_popountll(x), it will be very fast and you will be able to code it in a short amount of time.

BTW, with g++ 4.4.7 from 2010, the benchmark file just crashes with "illegal instruction". Not a problem, I just had to update my g++.

I just compiled and tested libpopcnt using g++ 4.4.7 and it works without any issues! I compiled GCC myself, maybe I should try some Linux distribution that comes with g++ 4.4.7 preinstalled.
$ CC=gcc-4.4.7 CXX=g++-4.4.7 cmake ..
$ make test
Running tests...
Test project /home/kim/Desktop/libpopcnt-master/build
    Start 1: test1
1/2 Test #1: test1 ............................   Passed   12.94 sec
    Start 2: test2
2/2 Test #2: test2 ............................   Passed    1.86 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =  14.80 sec

$./benchmark
Status: 100%
Seconds: 11.1614

I tried it on Centos6.8, gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17), but
who is using these old gcc version anymore? I wouldn't worry.

Thanks!

I was able to reproduce the error:
$ g++ -v
gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

$ cmake .
$ make
$ ./benchmark
Illegal instruction

The error is caused by the xgetbv instruction that is used to detect if the CPU supports AVX2:
static inline int check_xcr0_ymm()
{
  int xcr0;
  int mask = XSTATE_SSE | XSTATE_YMM;
#if defined(_MSC_VER)
  xcr0 = (int) _xgetbv(0);
#else
  __asm__ ("xgetbv" : "=a" (xcr0) : "c" (0) : "%edx" );
#endif
  return (xcr0 & mask) == mask;
}

The fix is to only compile this function if the compiler supports AVX2:
#if defined(HAVE_AVX2)

static inline int check_xcr0_ymm()
{
  // ...
}

#endif

Fixed https://github.com/kimwalisch/libpopcnt/commit/172c187b8cc9ff37227c30ed40da21d5ee63cd98


Fish completions

Work with mux alias (and others)
Proper subcommands handling

Coverage remained the same when pulling ab76375d2b4edad4d2aad9471ee552de1b9b3359 on rominf:fish-completion into f9e7089e65e8ad31e61f0f8c64b0ea778e0cb634 on tmuxinator:master.

Coverage remained the same when pulling e9f2adce611f34d49f0103a1817a16c7bb00b2e9 on rominf:fish-completion into f9e7089e65e8ad31e61f0f8c64b0ea778e0cb634 on tmuxinator:master.

:+1:


Gracefully handle packages not in pypi

If you have a package that is not availible in PYPi poet will fail on:
urlopen("https://pypi.python.org/pypi/{}/json".format(name))

This patch make poet continue but print the following resource stanza
  # {{ resource.name }} not found, ignoring

We use Homebrew to distribute our internal tools and the packages are directly downloaded from private hosted git.

Hello! Sorry for the delay; I've been traveling. I'd be a little nervous about this approach since if any of your packages acquires a doppelganger on pypi the script will find the pypi script instead. Would some kind of blacklist regex list make sense?

— Alternatively, an option to specify a server other than pypi.python.org with the pypi API (devpi etc) would be straightforward.

Maybe a blacklist is best. We don't use a private pip server. We pull our internal tools directly from git.
I'll updated the PR so it poet will take a new argument -e --exclude which will give you a way to just skip some packages.

It doesn't look like you pushed the branch to your fork; that sounds like a great solution though.

@tdsmith I got interrupted. I'll file a new PR when I have some time to finish it but it might take some weeks.