docker zwave MIA.

Home Assistant release (hass --version):
0.45.1, docker pull
docker pull homeassistant/home-assistant
Using default tag: latest
Trying to pull repository docker.io/homeassistant/home-assistant ...
sha256:27dc09058154d70afac9d4482241b97ff19b533d5a9fdcc903049a73dc37f4f3: Pulling from docker.io/homeassistant/home-assistant
Digest: sha256:27dc09058154d70afac9d4482241b97ff19b533d5a9fdcc903049a73dc37f4f3
Status: Image is up to date for docker.io/homeassistant/home-assistant:latest
Python release (python3 --version):
whatever is inside the docker container.
python 3 ?
Component/platform:
openzwave.
Description of problem:
2017-05-22 14:14:48 ERROR (MainThread) [homeassistant.setup] Error during setup of component zwave
Traceback (most recent call last):
File "/usr/src/app/homeassistant/setup.py", line 188, in _async_setup_component
None, component.setup, hass, processed_config)
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/app/homeassistant/components/zwave/init.py", line 247, in setup
config_path=config[DOMAIN].get(CONF_CONFIG_PATH))
File "/usr/local/lib/python3.6/site-packages/openzwave/option.py", line 82, in init
libopenzwave.PyOptions.init(self, config_path=config_path, user_path=user_path, cmd_line=cmd_line)
File "src-lib/libopenzwave/libopenzwave.pyx", line 675, in libopenzwave.PyOptions.init (openzwave-embed/open-zwave-master/python-openzwave/src-lib/libopenzwave/libopenz
wave.cpp:11164)
libopenzwave.LibZWaveException: "LibOpenZwave Generic Exception : Can't find config directory /usr/local/share/python-openzwave/config"
Expected:
zwave works.
Problem-relevant configuration.yaml entries and steps to reproduce:
docker start

Ah, figured it out - had a config_path in my configuration file.


Add temporary moquette files to .gitignore

Coverage remained the same at 34.781% when pulling e491e128d841eaa5f44478ae7e11fde9993d8d2c on eh_ignore_moquette-store into 0d5fd2a00a6e6f12a65cf82d667262724b7bb89d on master.

Coverage remained the same at 34.781% when pulling e491e128d841eaa5f44478ae7e11fde9993d8d2c on eh_ignore_moquette-store into 0d5fd2a00a6e6f12a65cf82d667262724b7bb89d on master.


Fix jekyll build with jekyll-action, and update actions to remove deprecation warnings.

I validated this against a temporary testing repository and everything works as expected - no deprecation warnings, and a healthy Jekyll build.
However, if this commit does not work, I'll revert the last 3.

Okay, everything looks healthy now, #104 and #105 build failures mitigated. Let me just explain a little more what happened here.
The Gemfile was using Jekyll -> 4.2, which means "any version after 4.2". When I came to bundle update, and bundle exec etc on my laptop (Fedora Linux), it grabbed Jekyll 4.3, and it's dependencies, including jekyll-sass-converter (which was upgraded from v2 to v3 with Jekyll 4.3 release notes), and that relies on sass-converter. On my laptop, and most other people's machines, Ruby built the sass-converter gem with glibc.
However, fast forward to GitHub actions, the jekyll-action uses an Alpine container, which of course does not use glibc, but musl. That means that the jekyll-action was unable to build sass-converter, and that failed the build. This appears to be a known issue - https://github.com/helaili/jekyll-action/issues/150 that just popped up in the last few weeks.
For now, I've added a lock on jekyll-sass-converter in the Gemfile to v2, and also added a note about why.
Possible future solutions include; wait for jekyll-action to resolve this upstream, lock Jekyll to 4.2 (but that's probably not so good for long term updates), or even better, migrate to asciidoc!


[Test] add unit test for /arana/pkg/dataset.

What would you like to be added:
Why is this needed:

add unit test for /arana/pkg/dataset package, specifically for:

filter.go
reduce.go
transform.go

assign me

确认下覆盖率；
reduce_test

reduce_test：3个case，min/max/sum


Double quotes makes notes load incorrectly

Files containing the " character can't be loaded into SplitNotes.

Normal " works, but notes with unicode character can't be loaded. Note handler should use a different system to read the file content that works with unicode.


Update constants configuration to be consistent across all subgraphs.

The way in which we configure constants is not consistent across our subgraphs. We want to incorporate this processes as another standardized process in the deployment pipeline. Jaime and I have been talking about how we will do this.
Here is a summary of the proposed method that @jaimehgb and I arrived at through discussion:

2 data sources: deployment.json and config.ts contained in deployment specific folder. Config.ts has an object that implements subgraph wide configurations.
Generate versions.ts with deployment.json w/ mustache from versions.mustache template and put in configurations/env/.
Generate configurations.ts in configurations/ by importing the config object for the particular deployment. I'll do this as well by mustaching the import path for the config object.
Translate confuse.ts into json format and use to configure the subgraph.yaml

Decided not to do this, but the versions context is now being generated, so as people merge in their PRs, we want them to use the version.ts to update protocol versions.


Secret Generation from within the ArgoCD Workflow seems to be buggy. Base64 String gets broken onto two lines

/kind bug
What steps did you take and what happened:
When we create the Secrets inside ArgoCD Workflow, the encrypted URL (base64) seems to line break inside the shell of ArgoCD Workflows.
Currently we are passing the url with an env var.
But, if we add the base64 string directly to the deployment, it works perfectly and as expected.

Cause of this issue is, if the name of the newly created github repo is too long, the base64 encoded string gets also longer and will break into two lines.
This will cause the error, that the yaml cannot be correctly be parsed to json.


[v8] Express - Error on Customize Search/Listing

This is in a new beta 2 site.  We're getting the following error when clicking "Customize Search/Listing" on any Express Object.  This happens even with very simple objects.  If additional info is required, I'm happy to provide it and/or give access to this development site.

This has already been fixed in GitHub.


added path of pdk library to XSCHEM_LIBRARY_PATH

xschem version used 3.4.4
This update to xschem profile is made
So that xschem knows where to search for symbols
this solves the issues open on...
This happens as this tutorial is followed "https://xschem.sourceforge.io/stefan/xschem_man/tutorial_xschem_sky130.html" copying xschem profile to working directory make it continent to use xschem
Yeah!! I know, this error will not occur in first place if xschem is launched form path where pdk is installed

added path of pdk library to XSCHEM_LIBRARY_PATH

You should take the xschemrc from the sky130 pdk in this case:
.../share/pdk/sky130A/libs.tech/xschem/xschemrc
this xschemrc has the line you added at the bottom:
append XSCHEM_LIBRARY_PATH :${PDK_ROOT}/${PDK}/libs.tech/xschem
If I added this line in the xschem_sky130 repository, then the xschemrc processed by open_pdks will have two lines like this.
the following lines are added by the open_pdks installation
# open_pdks specific:
# Set variables after ${PDK_ROOT} is known
# This overrides some of the variables set above.

set XSCHEM_START_WINDOW ${PDK_ROOT}/${PDK}/libs.tech/xschem/sky130_tests/top.sch
append XSCHEM_LIBRARY_PATH :${PDK_ROOT}/${PDK}/libs.tech/xschem

# allow a user-specific path add-on (https://github.com/iic-jku/iic-osic-tools/issues/7)
if { [info exists ::env(XSCHEM_USER_LIBRARY_PATH) ] } {
    append XSCHEM_LIBRARY_PATH :$env(XSCHEM_USER_LIBRARY_PATH)
}

@gharishkumar I have updated the tutorial page with the new conventions for the xschemrc file.

@gharishkumar You can also take a look at our template repository here: https://github.com/efabless/sky130_ef_ip__template/blob/main/xschem/xschemrc
The project xschemrc uses PDK_ROOT and PDK to source the PDK's xschemrc file.


[Feature] Polymorphic embedded entities

Is your feature request related to a problem? Please describe.
I bumped into this earlier after upgrading to v4. I think it would be useful(I'm on mongo, so I use embedded properties a lot) to have embedded properties work the same as STI entities, where B & C inherits A, and D holds a property that can be either B or C. This is in a way related to #706, but it should be easier to achieve since there's no FKs to handle here.
Say we have:
enum AnimalType {
	CAT,
	DOG,
}

abstract class Animal {
	@Enum(() => AnimalType)
	type: AnimalType;

	@Property({ type: String })
	name: string;
}

@Embeddable()
class Cat extends Animal {
	@Property({ type: Boolean })
	canMeow = true;

	constructor(name: string) {
		this.type = AnimalType.CAT;
		this.name = name;
	}
}

@Embeddable()
class Dog extends Animal {
	@Property({ type: Boolean })
	canBark = true;

	constructor(name: string) {
		this.type = AnimalType.DOG;
		this.name = name;
	}
}

I would expect to be able to do:
@Entity()
class Profile {
	@Embedded()
	pet: Dog | Cat;
}

Describe the solution you'd like
I think we can make Embeddables take on some parameters that would reference the type and have the entity mapper look for it if provided. Same as STI works now for entity types. As for the Embedded decorator, I would have this receive an array of entities that can be mapped against instead of a single entity.
Describe alternatives you've considered
The way i achieved this is by having a custom type and doing my own mapping based on the type property of the "animal" in the example above. The issue with this though, is that custom types aren't diffed when changes are being made to the parent entity which is normal, but I have to look for the changes myself which beats the purpose.

Looking into this now. We will need more information in the metadata, similarly to STI, but I feel like I found a way to incorporate this into the codebase without too much rewriting - similarly to pivot tables, we can have virtual entities for such polymorphic entities. This way we can still internally refer to a single target metadata for such properties.
I can imagine something like this:

enum AnimalType {
  CAT,
  DOG,
}

@Embeddable({ abstract: true, discriminatorColumn: 'type' })
abstract class Animal {

  @Enum(() => AnimalType)
  type!: AnimalType;

  @Property({ type: String })
  name!: string;

}

@Embeddable({ discriminatorValue: AnimalType.CAT })
class Cat extends Animal {

  @Property({ type: Boolean, nullable: true })
  canMeow = true;

  constructor(name: string) {
    super();
    this.type = AnimalType.CAT;
    this.name = name;
  }

}

@Embeddable({ discriminatorValue: AnimalType.DOG })
class Dog extends Animal {

  @Property({ type: Boolean, nullable: true })
  canBark = true;

  constructor(name: string) {
    super();
    this.type = AnimalType.DOG;
    this.name = name;
  }

}

@Entity()
class Owner {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  // we could probably infer this via ts-morph, but let's not overcomplicate things for now
  @Embedded(() => [Cat, Dog])
  pet!: Cat | Dog;

}


Add SQLFluff options guidance and sample config file to handbook

Migrated from GitLab: https://gitlab.com/meltano/handbook/-/issues/69
Originally created by @aaronsteers on 2022-03-03 19:27:00

@pnadolny13 and @tayloramurphy - Do you have a config file you are using for SQLFluff which you are happy with? I have one from an prior life I can probably dig up if not.
Thanks!

View 4 previous comments from the original issue on GitLab


NIFI-2613 - Apache POI processor to convert Excel documents to CSV

Reviewing

@jdye64 I have a couple of requests from a quick scan.  Would it be possible to...

Rebase on the latest master?
Update the POM versions, using a consistent "1.1.0-SNAPSHOT" format (looks like there is a mix of "1.0-SNAPSHOT" and "1.0.0-SNAPSHOT")?
Reference the nifi-poi-nar in the nifi-assembly dependency artifacts?
Include Poi in the nifi-assembly NOTICE file?

@jdye64 I still had trouble building and running NiFi with this PR.

root POM still references nifi-poi-bundle version "1.0-SNAPSHOT"
nifi-poi-nar still has a dependency on nifi-poi-processors version "1.0-SNAPSHOT"
NiFi fails to start processing the entry for org.apache.nifi.processors.kite.ConvertAvroToParquet in nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor (unintentionally included in commit?)

Would you please try running mvn clean install -Pcontrib-check, verifying that the latest nifi-poi-nar is included in the lib output, and that NiFi starts OK?

I have a few more comments from running the processor and reviewing the code:
Processor Annotations

The CapabilityDescription says this processor transfers one flowfile for each sheet in the Excel document, but that was not my experience.  It aggregated all content into one output flowfile.  Is that the intended behavior?
Most NiFi attribute names are lowercase, "sheetname" or "sheet.name" instead of "SheetName".  I don't believe there is a hard and fast rule there, but I recommend going lowercase if you do not have a strong preference.

Properties

PropertyDescriptors should have name as a machine readable key like "extract-sheets" and displayName for the user "Sheets to Extract".

Exception Handling and Logging
Most NiFi components use getLogger().error(... as you do later in the code, rather than printStackTrace().  I haven't tested these error cases, but they appear to be informational rather than stopping or failing the flow.  Would getLogger().info(... or getLogger().debug(... be a better fit here?  Do users need the full stack trace, or would just the message be helpful enough?
} catch (InvalidFormatException e) {
	e.printStackTrace();
} catch (OpenXML4JException e) {
	e.printStackTrace();
} catch (SAXException e) {
	e.printStackTrace();
}

@jdye64 will you have time to address @jvwing findings?  Would like to get this across the line.  We're trying to get the list of stale PRs burned down.

@jvwing wow sorry its been a long time for my response. I've tried to go through and make all of the cleanup suggestions you have made.
Yes, the intention is a single output per sheet in the excel file. Keep in mind that if the sheet is not .xlsx and rather .xls format you would see the behavior you are experiencing. Can you attach the excel doc you were testing with?
I made the change to case of the attribute
Also adjusted the error handling to prevent the end user from being pummeled with a full stack trace.

@jvwing you ok continuing to run with this one for the review?

@joewitt Yes, thanks for getting us moving, I'll continue reviewing.
@jdye64 Thanks for the updates, I'll take another look shortly.

@jdye64 I'm still confused by the disparity between the annotation docs and the behavior of the processor, especially with respect to multiple sheets in the incoming spreadsheet.  From the annotations:

Each sheet from the incoming Excel document will generate a new Flowfile that will be output from this processor

This was not my experience, and I believe the single call to session.clone on line 143, not performed in a loop, guarantees only a single flowfile to the success relationship.

@WritesAttribute(attribute="sheetname", description="The name of the Excel sheet that this particular row of data came from in the Excel document")

But it has always been UNKNOWN for my tests.

I created a unit test to help clarify how this is supposed to work.  From the docs, I believe the test below should pass, although it currently fails.  Am I misunderstanding?
Also see branch
TwoSheets.xlsx
@Test
public void testMultipleSheetsGeneratesMultipleFlowFiles() throws Exception {

    testRunner.enqueue(new File("src/test/resources/TwoSheets.xlsx").toPath());
    testRunner.run();

    testRunner.assertTransferCount(ConvertExcelToCSVProcessor.SUCCESS, 2);
    testRunner.assertTransferCount(ConvertExcelToCSVProcessor.ORIGINAL, 1);
    testRunner.assertTransferCount(ConvertExcelToCSVProcessor.FAILURE, 0);

    MockFlowFile ffSheetA = testRunner.getFlowFilesForRelationship(ConvertExcelToCSVProcessor.SUCCESS).get(0);
    Long rowsSheetA = new Long(ffSheetA.getAttribute(ConvertExcelToCSVProcessor.ROW_NUM));
    assertTrue(rowsSheetA == 4l);
    assertTrue(ffSheetA.getAttribute(ConvertExcelToCSVProcessor.SHEET_NAME).equalsIgnoreCase("TestSheetA"));

    MockFlowFile ffSheetB = testRunner.getFlowFilesForRelationship(ConvertExcelToCSVProcessor.SUCCESS).get(1);
    Long rowsSheetB = new Long(ffSheetB.getAttribute(ConvertExcelToCSVProcessor.ROW_NUM));
    assertTrue(rowsSheetB == 3l);
    assertTrue(ffSheetB.getAttribute(ConvertExcelToCSVProcessor.SHEET_NAME).equalsIgnoreCase("TestSheetB"));
}

@jvwing thank you for pointing this out. Let me look it over right now and I'll make another commit shortly. I had this in another project and I think during the copy/paste I have made an error.

@jvwing I indeed had used a much earlier version of the processor. I couldn't find the other version so just ended up doing a rewrite for the most part. Thanks for hanging with me on this.

Thanks, @jdye64, this is clearly a big improvement.  I will continue reviewing the functionality.  Some of the issues identified above are still in the latest commit, and should still be addressed:

Root POM references nifi-poi-bundle version 1.0-SNAPSHOT
Entry for ConvertAvroToParquet in nifi-kite-bundle
Incomplete comment at ConvertExcelToCSVProcessorTest.java:91

@jvwing the ConvertAvroToParquet had slipped my mind thanks for the reminder there. The POM references had been fixed in a previous fix at https://github.com/apache/nifi/pull/929/commits/474a08eda8497d47468e511e3642766995dad62a#diff-e7171c7f07ed58f51e4643dc340432f8R22
I'm unsure what your preference for reviewing is but let me know if this is getting to the point where you would like for me to squash the commits or not.

@jdye64 Thanks for the update.  I'll look into why I'm seeing the POM issue.  Don't worry about squashing, I'll take care of that when we're ready to merge.

@jdye64, I am still having trouble with the root pom.xml file.  The version number is still 1.0.0-SNAPSHOT on line 1006.  The commit you referenced above did correct version numbers in the nifi-poi-bundle project, but not the root NiFi project POM.
How are you testing the build and the build output?  I have experienced two scenarios:
1.) Clean System - Build fails at nifi-assembly, because the root pom.xml specifies nifi-poi-nar 1.0.0-SNAPSHOT, which is not in the local Maven repository:

[ERROR] Failed to execute goal on project nifi-assembly: Could not resolve dependencies for project org.apache.nifi:nifi-assembly:pom:1.2.0-SNAPSHOT: Could not find artifact org.apache.nifi:nifi-poi-nar:nar:1.0.0-SNAPSHOT in apache.snapshots (http://repository.apache.org/snapshots)

2.) Reused System - Build succeeds because the older nifi-poi-nar-1.0.0-SNAPSHOT.nar still exists in the local Maven repository, but the output assembly files contain nifi-poi-nar-1.0.0-SNAPSHOT.nar.
In neither case do I get the lastest NAR output.  Would you please try deleting the contents of ~/.m2/repository/org/apache/nifi/nifi-poi* and running a full mvn clean install?

Thanks, @jdye64,  that got it.  I was able to build just fine with contrib-check and everything.  On to new topics:

License/Notice - We need a separate LICENSE and NOTICE files for nifi-poi-nar.  I was reminded by the recent LICENSE/NOTICE discussion on the mailing list about what to include in NAR bundles, and it applies here.  Good news, you've already put together most of the text for the nifi-assembly LICENSE/NOTICE, and there are many examples of the file layout in other NARs.  I think a reasonably comparable NAR referencing another Apache project is nifi-ignite-nar.
Sheet in Filename - Output filenames all have the UNKNOWN sheet name, like<PHONE_NUMBER>5098_UNKNOWN.csv.  How about adding a sheet name check to one of the unit tests?
Error Cases - What will make this fail?

@jvwing In regards to error cases here are a list of things which could make this fail.

Input data is incorrect. AKA not .xlsx file
Empty document. I guess this isn't an error but I think you get what I'm saying there just wouldn't be anything to do.
User could specify a list of "desired-sheets" that are not present in the document. Once again not really failure but of course no success relationships would be triggered on the original relationship.
The processor will currently only process strings (this includes numerical values, just the POI naming convention) and will ignore things like graphs, images, binary data, etc.

@jdye64 Thanks, I looked into some of these error cases:

Unsupported .xls - Throws exception, routes to 'original'.  The error bulletin seems a bit terse:

ConvertExcelToCSVProcessor[id=43426b41-015a-1000-b06e-3a9be79162d1] Package should contain a content type part [M1.13]

Blank Sheet - Succeeds, one empty flowfile to 'success' and the original to 'original'.  No Errors.  Seems correct to me.
Empty Workbook - I wasn't able to create an empty workbook manually in Excel.
Unmatched Sheet Names - Covered by testNonExistantSpecifiedSheetName, seems correct to me.
Diverse Content - I tried a number of bizarre things Excel lets you put in spreadsheets -- images, tables, pivot tables, formulas, hidden sheets, etc.  Where appropriate, the processor returned content (cells in tables and pivot tables, last computed formula value), but did not run into errors.  Images were ignored.
CSV-Breaking Content - The processor does not escape text to enforce a CSV structure.  Sheets containing multiline text in a cell, cells with commas, etc. resulted in improperly formed CSV files.  I do not object, I understand that's a significant scope increase.

I recommend that you do the following:

Clearly document that the processor only supports .xlsx and NOT .xls files.  I know you've already answered questions about this on the dev list, so somebody's going to try it.
For the .xls case, would it be possible to catch the org.apache.poi.openxml4j.exceptions.InvalidFormatException, repackage that with a helpful error message suggesting that only well-formed XLSX files are accepted, and route to failure?
Document that the processor does not escape invalid CSV content.
Logging changes from the code review post above.

Thanks for those improvements, @jdye64, I especially like the updated usage doc.  Two things on the latest code:

Did you try an .xls file?  There is a problem when the flowfile attribute is added in the catch block on line ~195.  The NiFi framework throws an exception of it's own, because we can't do session.putAttribute inside an InputStreamCallback for the same flowfile:

java.lang.IllegalStateException: StandardFlowFileRecord[uuid=be192381-9475-4c6d-a6ca-43735e5df271,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1489713904793-1, container=default, section=1], offset=0, length=26112],offset=0,name=./conf/test-xls.xls,size=26112] already in use for an active callback or InputStream created by ProcessSession.read(FlowFile) has not been closed

Something similar happens with the session.putAttribute on ~209.  As a result of these exceptions, the session is rolled back and the flowfile is returned to the input queue.  I think we can throw an exception, though.  So if we caught and rethrew with a different error message, it should work out.

In the failure case, we're routing the flowfile to both 'failure' and 'original'.  I didn't realize it earlier, but I now believe this to be unusual in NiFi.  Most processors treat failure as an exclusive route, and 'original' as part of the successful happy path.  SplitAvro, SplitJson, SplitText, and UnpackContent were some examples I looked at.  I doubt that's written in stone.  What do you think?

I made a sample code fork with a unit test for .xls and a suggested approach to solving the IllegalStateExceptions, and the failure routing.  I did not get the logging to cooperate the way I think it should, but we're not too far off.

@jdye64, it looks good!  I was just about to merge, giving the files a last once-over before I push the button... and I noticed we have a json.org dependency in the nifi-poi-processors POM:
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20160810</version>
    </dependency>

Are we using that?  json.org is Category X these days, so we can't go with it.  But it doesn't appear to be used, and when I deleted it I was able to build, test, and run the processor without obvious issues.
Do you know of any reason I can't just pull that out?

Thanks again for putting this together, @jdye64.


Image Negation

Implement a method to negate images i.e., reverse the pixel values for any image processed by it.

Implement a method to negate images i.e., reverse the pixel values for any image processed by it.

hey @geekquad ,I want to work on this issue under GSSoC'21. Kindly assign this issue to me.

Already exists.


updated logo with fileName "logo"

Made a mistake of uploading logo with wrong name

uploaded new file with logo.png filename


Initial Testing Suite

Initial pytest testing suite consisting of 84 test cases.  61 of them pass, and 23 of them are marked as expected to fail.  The reason that many of the tests fail is due to giving them invalid or unexpected inputs.  These don't really show that the program isn't working correctly, but they do suggest that in the case that a unit was given invalid input, it would fail.  These situations are unlikely to occur and low priority to fix I believe.  This should be a good starting point for creating a larger test suite and ensuring that future changes do not impact the functionality of the program.

Related to #26

@xMestas if the program is given an unexpected input, rather than leading to a test failure, shouldn't the program handle that (e.g., by reporting a message and closing)?

(if the test failures are just temporary, and could be resolved by such an approach later, then that's ok)

In most cases in does that.  The problem is that it may check for this at some point in the program, and assume it is correct in the future.  For example, if a graph edge is greater than 1, it will print an error and exit when building the graph.  Because of this, the functions that use the graph don't test if the edges are greater than 1 or not because it could never happen.  However, if you test that function with a graph that has edges greater than 1, this will cause the test to fail because the function isn't checking, it is just assuming its input is good.


fix typo in warning comment

This is an FYI PR.  Not sure who to tag, so this message might as well be piped into /dev/null.

:+1: Merge it!

@nedbat I just changed this from an FYI PR to an actual PR.  Just learned about the hash and decided to regenerate this repo's pylintrc.

What is an FYI pr?

Ah, I was just going to push the PR without seeking review because it seemed to straightforward (known as an FYI PR (as far as I know).  Now it isn't seeming so straightforward to me because of things that get hashed.

The hash is fine, and the fix is correct, I'm merging it :)


pbsv discover detecting csi incorrectly

Operating system
system: CentOS Linux HPC
Package name
pbsv 2.8.0
Conda environment
I'm not install pbsv via Conda, I use apptainer container of pbsv on cluster.
Describe the bug
When using --region flag in pbsv discover, pbsv is unable to detect .csi index properly. I renamed the XXX.bam.csi to XXX.bam.bai (which I should not have done that), the error disappeared. But there is no error when I run pbsv dicover without --region, even though the index is in csi format.
Error message
>|> 20220723 03:14:54.147 -|- FATAL -|- Run -|- 0x2b90551e9b80|| -|- pbsv discover ERROR: Number of index files does not match number of BAM files!

To Reproduce
for i in NC_058080.1 NC_058081.1 NC_058082.1 NC_058083.1 NC_058084.1 NC_058085.1 NC_058086.1 NC_058087.1 NC_058088.1 NC_058089.1 NC_058090.1 NC_008410.1 NW*; do
        pbsv discover --region $i novosort.sample_name.bam \
            novosort.sample_name.$i.svsig.gz \
            --tandem-repeats Trf.bed
done

The aligned bam file is very big (1.4T), and the length of chromosome is more than 2^29 bases. I have to store index of bam in csi format.
Expected behavior
I guess that the code about detecting the existence and number of csi index is correct in the normal pbsv discover chunk, but things changed in pbsv discover --region? So I expect that:

if renaming csi to bai works, then it is acceptable.
if renaming does not work, will you adapt the code?

Maxine

if someone experienced a similar situation?

I don't think pbsv currently supports csi.


DaylightSolutions MIRcat

Add driver for the DRS Daylight Solutions MIRcat QCL infrared laser.

@julienbarrier there are a few typing issues, see here https://github.com/QCoDeS/Qcodes_contrib_drivers/actions/runs/5916658627/job/16134543616?pr=235 - could you look at those and fix them? Let know if you need help with that.

@julienbarrier thanks! there are a few more :)

It should be fixed now. Thanks.


performance issue with lnd 0.12.1

Background
lnd has become slow/unresponsive since 0.12. upgrade to 0.12.1 didn't seem to have solved the issue
Your environment

version of lnd: 0.12.1
which operating system (uname -a on *Nix). GKE n2-standard-2. using docker image provided by LL.
bitcoind: 0.21.1

Steps to reproduce
I would need guidance to provide useful logs. I have logs=debug activated. I can share it
I can also add CPU profiling if that is useful?
Using graphql so one call from the mobile app to the backend can lead to many 10+ RPC call over lnd, which makes it hard to narrow down the issue. I'm installing Istio / Jaeger to be able to trace the call that has issues.
Actual behaviour
This is a blackbox probe of our backend. I have installed blackbox only recently since we start having issues with lnd 0.12. Prior, our users didn't complain about uptime, so I'm assuming there was no such issue.
The graph shows that the app gets unresponsive for 1-3 minutes and then gets back online.

Our CPU usage is very low. on average .05 vCPU.

What is your blackbox probe doing? Is it just a TCP connection check or checking a specific API endpoint? If API, gRPC or REST?
There was some problems like this in 0.12 (can be found in #4892 ) but appeared to be fixed in 0.12.1 for everyone

the blackbox is doing what our mobile wallet is doing when the app is opening. it's fetching all the data it needs in one call to be presented to the mobile wallet.
Here is the graphql call in case this is helpful:
query gql_query_logged {
  prices {
    __typename
    id
    o
  }
  earnList {
    __typename
    id
    value
    completed
  }
  wallet {
    __typename
    id
    balance
    currency
    transactions {
      __typename
      id
      amount
      description
      created_at
      hash
      type
      usd
      fee
      feeUsd
      pending
    }
  }
  getLastOnChainAddress {
    __typename
    id
  }
  me {
    __typename
    id
    level
    username
    phone
  }
  maps {
    __typename
    id
    title
    coordinate {
        __typename
        latitude
        longitude
    }
  }
  nodeStats {
    __typename
    id
  }
}

many outpurs, like wallet { balance } or wallet { transactions {...}  } require RPC call from our backend to lnd.
We have another blackbox call that is fetching less data, and where data doesn't need interaction with lnd, and this one is not failing.
I saw that the HDD lnd is using is not a SSD. I'm switching to an SDD and see if this will have any effect and report back here.

Ah ok, so you're doing GraphQL in between. I would test response times on the specific APIs (without anything in between). Then you can know exactly which API/Method is taking a while and that's much more helpful to debug.

Using graphql so one call from the mobile app to the backend can lead to many 10+ RPC call over lnd, which makes it hard to narrow down the issue

Likely doing a single call and tracking that over time would give you better insight into what's slow. Also if you can do a proper profile (with the go runtime), then you can get a better breakdown of what's slow.

this makes sense, but this is assuming there is no interdependency/deadlock as the result of a heavier load of RPC calls.
the issues https://github.com/lightningnetwork/lnd/issues/4892 showed that the issue was arising under a more heavy load and bitcoind stop responding.
I'm wondering if this is not what we have here as well. If we have 50 users fetching their balance through graphql simultaneously, and each graphql call result in 10 rpc calls to lnd (which itself leads to an order of magniture more call to bitcoind?), this may result in a 100+ rpc call/s to lnd. (A lot of things could be cached/rearchitected on our end to reduce the load if we understand as this being the issue)
This is also why I'm trying to instrument Jaeger as it would make it clearer if the assumption above is relevant or not. I'll report back once I have made some progress.

I did some sanity check:

move the cluster to a new set of nodes
set the pod affinity to the lnd Pod such that lnd will run on the same pod as bitcoind.
move lnd storage to ssd drive instead of the default magnetic harddrive

and for now, the issue seems to be gone. I'll close this ticket for now, and reopen it if the issue arises again.


Change validation data from test to training data

5,000/60,000 training images are set aside to use as validation data
during parameter tuning. once parameter tuning is complete, the final
model is trained on all 60,000 training images for 3 epochs. this
approach is consistent with one taken by Yann LeCun in the paper "What
is the Best Multi-Stage Architecture for Object Recognition?"

That's would be a reasonable way to proceed, for instance in a machine learning competition where you do not have access to the score on the test set. In our case there is not much of a point. We're just using the test set as validation set --to confirm that the model is working, and how well it's working.

Makes sense. I suggested my revision because I was confused about the absence of a separate validation set, but I understand why you didn't include it now. Thanks for explaining.

@fchollet @bbartoldson Is monitoring the validation loss to reduce the learning rate ,when it reaches a plateau, not considered tweaking the parameters ? So in that case aren't we peeking into the test data (validation data is the case of keras) which would eventually lead to overfitting?

I still think this example should be updated. It is bad practices to use the test set as validation set, even though it is not being used for model selection here. @fchollet, kindly check the full discussion at #1753 (especially here) and please reconsider this pull request.


where is default llama and jllama dlls?

Hello, I am just trying to understand this project. AFAIU, there are two key dlls this project relies on to interop with llama.cpp. These are llama.dll and jllama.dll. Further, the Maven artifact comes with pre-compiled dlls for the 3 platforms: Windows, Mac and Linux. I can see that over here e.g.:
> tar -xvf ~/.m2/repository/de/kherud/llama/2.2.1/llama-2.2.1.jar
x META-INF/
x META-INF/MANIFEST.MF
x de/
x de/kherud/
x de/kherud/llama/
x de/kherud/llama/Windows/
x de/kherud/llama/Windows/x86_64/
x de/kherud/llama/Linux/
x de/kherud/llama/Linux/aarch64/
x de/kherud/llama/Linux/x86_64/
x de/kherud/llama/Mac/
x de/kherud/llama/Mac/aarch64/
x de/kherud/llama/Mac/x86_64/
x de/kherud/llama/LlamaModel$Output.class
x de/kherud/llama/OSInfo.class
x de/kherud/llama/Windows/x86_64/jllama.dll
x de/kherud/llama/Windows/x86_64/llama.dll
x de/kherud/llama/LlamaModel$1.class
x de/kherud/llama/LlamaModel$LlamaIterator.class
x de/kherud/llama/InferenceParameters$1.class
x de/kherud/llama/InferenceParameters$MiroStat.class
x de/kherud/llama/LogLevel.class
x de/kherud/llama/ProcessRunner.class
x de/kherud/llama/ModelParameters$Builder.class
x de/kherud/llama/Linux/aarch64/libllama.so
x de/kherud/llama/Linux/x86_64/libllama.so
x de/kherud/llama/Linux/x86_64/libjllama.so
x de/kherud/llama/InferenceParameters.class
x de/kherud/llama/LlamaLoader.class
x de/kherud/llama/LlamaModel.class
x de/kherud/llama/InferenceParameters$Builder.class
x de/kherud/llama/ModelParameters$1.class
x de/kherud/llama/ModelParameters.class
x de/kherud/llama/LlamaException.class
x de/kherud/llama/Mac/aarch64/libllama.dylib
x de/kherud/llama/Mac/aarch64/libjllama.dylib
x de/kherud/llama/Mac/aarch64/ggml-metal.metal
x de/kherud/llama/Mac/x86_64/libllama.dylib
x de/kherud/llama/Mac/x86_64/libjllama.dylib
x de/kherud/llama/Mac/x86_64/ggml-metal.metal
x META-INF/maven/
x META-INF/maven/de.kherud/
x META-INF/maven/de.kherud/llama/
x META-INF/maven/de.kherud/llama/pom.xml
x META-INF/maven/de.kherud/llama/pom.properties

My question is that it seems these dlls are built just-in-time when a release is published to Maven. Where is the code that does that? I can't seem to find it. thanks.

Hey @siddhsql you're right about the dlls. They are built using GitHub actions. The corresponding workflow is over here https://github.com/kherud/java-llama.cpp/blob/master/.github/workflows/release.yaml

thanks. this is very helpful for me to understand how it works.
On Wed, Jan 31, 2024 at 12:02 AM Konstantin Herud @.***>
wrote:

Hey @siddhsql https://github.com/siddhsql you're right about the dlls.
They are built using GitHub actions. The corresponding workflow is over
here
https://github.com/kherud/java-llama.cpp/blob/master/.github/workflows/release.yaml
—
Reply to this email directly, view it on GitHub
https://github.com/kherud/java-llama.cpp/issues/44#issuecomment-1918579762,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6NWEK2PJEFRWZJNLUWF4B3YRH3BBAVCNFSM6AAAAABCSEPA5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYGU3TSNZWGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


How to call Clear method directly?

I'd like to call the clear method from handleOnChange so that I can reset when needed.

@alptugidin any thoughts on this? thanks in advance


Add a rule to disallow "for … in" on array types

This is almost certainly an error:
function foo(values: number[]) {
  for (const value in values) {
    ...
  }
}

It should be "for … of". If the intention is to iterate over the array indices, that's better done with values.forEach or a traditional for (let i = 0; i < values.length; i++) loop. Both of these alternatives give you numeric indices, rather than the strings that "for ... in" does.
Some people advocate disallowing for-in entirely, but I still find it useful for objects.
In theory tslint should know whether the object being iterated over is really an array and it could warn specifically on this mistake.

This requires type checker information, which should be coming soon (#1363)!

I've sent out a PR to implement this.


additional work on gcsl wip

Following the conversation started here: https://github.com/genshinsim/gcsim/discussions/1315

fixing upstream merge conflict first; more code to come


add SemanticKernelCookBook link to readme

https://github.com/microsoft/SemanticKernelCookBook

Thanks for the suggestion! I've added this link to the English version of the Readme and I'm adding a new issue to track making updates to the Chinese (ZH) version of the README for this and other link updates.


Adding new logo

Describe your changes
Added new logo for ClimateTown Knowledge Hub. Logo created by a zebra (moo moo)#6277 on Discord.

Original files:
books-logo.zip

Hey that’s me


os.environ['PATH'] will raise KeyError(key) when using Ctrl+F5 or only F5.

Environment data
VS Code version:  1.19.0
Python Extension version:  0.9.0
Python Version:   3.5.2
OS and version:    Ubuntu 16.04 64bit
Actual behavior
os.environ['PATH'] will raise KeyError(key) when running a program using Ctrl+F5 or only F5.
But everything is fine when running the program in the console.
Expected  behavior
os.environ['PATH'] should get the environment variable PATH.
Steps to reproduce:

Update Python Extension to version 0.9.0
Run a program with code "import os; print(os.environ['PATH'])" using Ctrl+F5 or only F5

@DonJayamanne : I am using Mint Linux on Ubuntu 16.04.3 LTS (Xenial Xerus)
I removed the .env file and installed the insider build version. I can debug. So that resolves the problem for me. Thanks.

Hi Team,
I am using: Red Hat Enterprise Linux Server release 7.4 (Maipo)
I am also getting the same kind of error. I've set environment variables as: MP_IP . I am calling them using:       mpip=os.environ["MP_IP"]
I am getting below error:
Traceback (most recent call last):
  File "orgAssociate/MpAssociation.py", line 9, in <module>
    mpip=os.environ["MP_IP"]
  File "/usr/local/lib/python3.6/os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'MP_IP'

I am running it using:  sudo /usr/local/bin/python3.6 orgAssociate/Association.py
Can you please suggest what can be done for it?

Please create a spare issue.


Bibliography

I noticed that the bibliography is not specfied, resulting in a compilation error.  This should be an easy fix by specifying all.bib and a bibliography style. I may have a style file I created a long time ago that I like.

Hi Allan - It does work, it was just commented out in the version you were using (I know that because I could check on GitHub!!), and that was because Chris would have had it commented out to run faster.
If you download my latest commit then everything is commented in, including bibliography. There are loads of references not in there yet (though see the missing references section for ones I flagged) - I'm now tidying up the main text and ignoring references for now.
Cheers, Andy


0.2.0

Coverage decreased (-4.2%) to 88.585% when pulling 03142d67e04d167268c5a7873f1335ae861b7bc6 on 0.2 into 44839f5025aa4b63dfc35d7ef8a848695a343989 on master.

Coverage decreased (-4.2%) to 88.585% when pulling 03142d67e04d167268c5a7873f1335ae861b7bc6 on 0.2 into 44839f5025aa4b63dfc35d7ef8a848695a343989 on master.

Coverage decreased (-4.2%) to 88.585% when pulling 3cd134e053cb07a5501ab82760e82e08567f964a on 0.2 into 44839f5025aa4b63dfc35d7ef8a848695a343989 on master.


PR: Make tests more reliable

@ccordoba12 it would be much better to create signals that send messages once something has happened. Adding timeouts is prone to fail randomly or make tests longer that they should.

I think the problem is the main window sometimes doesn't receive focus and that makes our tests to timeout. So signals wouldn't be of help here ;-)
I removed the previous commit and instead I'm hiding now the splash screen on tests to see if that helps.

This is my best effort to fix our issues in CircleCI and Appveyor. I'm still not sure if it works for sure because those failures are not deterministic :-)


license updates

+1
@psiroky there is a way to include licenses verification in our CI?

@ederign I think it should be somehow possible using one the maven license plugins. I haven't really looked into that in more detail.

master: 2de657fea45fa0669d65876f734f305745b69000


What with other open source projects?

Your drop of support for dat is just irresponsible. Why?
Cause there're open source software that used your format… for long years. Examples? Sure:
Nginx, Php5, Php7, Proftpd, … there are plenty of open source software that made your database popular… and what you did?
You just dropped support for one format… and did absolutely NOTHING to replace it with working alternative.
You could just say "fuck you open source" open way.

 I understand it lacks majority of data present in mmdb file, but it still costs you nothing to support easy conversion from mmdb to dat for legacy software - and you can't expect open source projects to "switch cause you decided so".


Add a homebrew cask

https://github.com/caskroom/homebrew-cask/blob/master/doc/development/adding_a_cask.md

Not sure if its worth it now


Added Node 8 to tests

Changes Unknown when pulling be6a7b708bd30bab7cd17e817d5587690751e289 on CI into ** on master**.

Changes Unknown when pulling be6a7b708bd30bab7cd17e817d5587690751e289 on CI into ** on master**.

Changes Unknown when pulling be6a7b708bd30bab7cd17e817d5587690751e289 on CI into ** on master**.

Changes Unknown when pulling a0602d09308b2c96e572cb7a06eb5cb578de3f48 on CI into ** on master**.


separate package for victor_hardware_interface msgs

There are probably remaining errors in other repos and in python, but they should be super easy for everyone to fix as they are encountered.

Yep I tested and it works.


Extensions from Bose

Adds extensions for

ip_locked
ip_indicesOf
ip_removeElements
ip_minutesAndSecondsString
ip_constrainedBetween

If we don't want anything in here, let me know. I think minutesAndSecondsString may be too specific, but we like it. 😄

everything looks good to me except for the Int extension.


Parsing Error with SwiftLocation.geocodeWith method

Getting parsing error when calling given method with valid lat, long and API key. Facing this issue with version 5.1.0. Request to fix this issue asap.
let service = Geocoder.Google(lat: 37.331656, lng: -122.0301426, APIKey: "")
SwiftLocation.geocodeWith(service).then { result in
// Different services, same expected output [GeoLocation]
print(result.data)
}

This issue was because of Geocoding API was not enabled on Google Cloud Console.
https://console.cloud.google.com/google/maps-apis/
I'm closing this issue but request to return a specific error If possible.


Feat/focal loss faster rcnn

This pull request adds focal loss to faster rcnn classification loss computation. Currently cross entropy loss is used to for classification:
CE(pt) =−log(pt)
where pt = softmax probability of correct class
Focal loss as defined here is:
FL(pt) =−(1−pt)^γ log(pt)
Alpha balancing version of focal loss is:
FL(pt) =−αt(1−pt)^γ log(pt)
We are not using the alpha balancing. Alpha balancing is used to tackle imbalance between foreground and background. Since the two stage network intrinsically handles this, we can use foreground background sampling parameters in faster rcnn to handle this kind of imbalance. But imbalance between foreground object classes is not handled, I have used the version of focal loss without alpha balancing for it.
Focal loss also has an effect similar to hard negative mining, by reducing the contribution of easy examples to loss. Since we don't have hard negative miner in faster rcnn currently, focal loss becomes handy.
I observed slight improvements in my model performance in imbalanced class problems. Interestingly, it is important to make sure all(most) annotations are correct, since I observed that in cases you have some annotation mistakes focal loss can hurt you by over emphasizing on annotation mistakes.

Will resolve the linting errors soon.

Need help with python_type_check failure:
"torchvision/models/detection/roi_heads.py:48: error: Type signature has too few arguments  [syntax]
def fastrcnn_loss(class_logits, box_regression, labels, regression_tar"

@fmassa
Thank you for your feedback.

it only gets exposed to Faster R-CNN:
That makes total sense, if focal loss is being integrated in pytorch there should be a single point of definition that can be reused over modules.

the alpha coefficient is not exposed, and seems a bit different than the original implementation
That was on purpose, because in my understanding focal loss with alpha balancing is designed for single stage detectors so they can handle imbalance between foreground and background. But two stage detectors solve this problem by passing on limited proposals and then using sampling to use fixed proportion of background and foreground examples. Tuning following hyper parameters in faster rcnn adresses this issue: box_batch_size_per_image=512, box_positive_fraction=0.25
This focal loss is designed to handle imbalance between foreground classes. But again, it can be argued that this focal loss is a special case of focal loss with alpha balancing with alpha = 0.5. So single definition of focal loss makes more sense.

Maybe this could be achieved by having an attribute self.box_loss that defaults to fastrcnn_loss
I think that is great idea. Rather than making this self.box_loss a function pointer we can pass in a class (nn.Module) with a fixed signature for forward call. So other arguments (like gama, alpha etc) can be set during initialization. If the user does not specify this self.box_loss class, we can set it to fastrcnn_loss class in faster rcnn constructor. Similar design has been used for box_roi_pool, box_head, box_predictor. They can be passed by user, otherwise they are set in the constructor to default classes.

What are your thoughts about this ?

Hi @muaz-urwa
So, I think we should try to make the implementation of Faster R-CNN in torchvision as simple to use and modify as possible.
Given that adding focal loss to Faster R-CNN is not something standard (at least I haven't seen it being widely applied), for this particular implementation I'm tempted to say that it would be preferable not to merge it to torchvision.
Now, I think it's still up for discussion to allow to customize the loss function for boxes / masks / keypoints, but as I said before, this is a simplified customization because we restrict what can be visible to each loss arguments, so in some sense it's not really as generic as possible.
Let me know what you think

@fmassa
Yes I totally understand that merging this PR does not make sense. Sorry for not being clear in my previous comment.
In point 1 and 2, I was agreeing with you that this PR should be discarded .
In point 3, I was only discussing the alternative that you mentioned in your first comment:
"I do think though that we should provide an easier way to customize the losses for each one of the heads.
Maybe this could be achieved by having an attribute self.box_loss that defaults to fastrcnn_loss. But the problem with this is that in some way it adds complexity but is not as flexible as it might first look -- indeed, the input signature is fixed, and we can't pass other things to the loss other than class_logits, box_regression, labels, regression_targets."

Hi @muaz-urwa
Thanks for clarifying your points, and sorry if I misunderstood something.
About point 3, I still think it's worth discussing if the fact that the input signature to the loss being fixed would be a severe limitation or not.

@fmassa no problem. Thank you for your informative insights :)


WIP: Add global orchestration indicator.

[ ] Include the global orchestration indicator in the UI

This allows us to mark machines as succeeded as soon as we know the
highstate on that machine succeeded, providing a better timely
feedback to the user.
Fixes: bsc#1064610

After playing a bit, I thought about these styles

What do you think?

What do you think?

I like it, I didn't think about that spot!

@ereslibre answering your question from IRC: yes, the fix was merged and a simple rebase makes everything green. :smiley:

This needs to pass CI, I will fix this.


key error in jupyter notebook using brainrender

Hello,
I am very new to these things thus sorry if I am not giving you enough informations about the issue !
to resume
I am trying to plot the coordinate of a group of cells in a 3D brain by using brainrender with jupyter notebook
I am using an anaconda environnement with the version 3.7.0 of python and the version of my anaconda navigator is 1.9.6.
my scirpt is working until this entry :
#Get a numpy array coordinates of some labelled cells
scene = Scene(title='area_cell')
MOx = scene.add_brain_region("MO", alpha=0.15)
SSx = scene.add_brain_region("SS", alpha=0.15)
VISx = scene.add_brain_region("VIS", alpha=0.15)
#STRx = scene.add_brain_region("STR", alpha=0.15)
and this is my error message

KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_16228\2284008602.py in
1 #Get a numpy array coordinates of some labelled cells
----> 2 scene = Scene(title='area_cell')
3 MOx = scene.add_brain_region("MO", alpha=0.15)
4 SSx = scene.add_brain_region("SS", alpha=0.15)
5 VISx = scene.add_brain_region("VIS", alpha=0.15)
~\Anaconda2\envs\plot3Dbrain\lib\site-packages\brainrender\scene.py in init(self, root, atlas_name, inset, title, screenshots_folder, plotter, title_color)
48             f"Creating scene with parameters: root: {root}, atlas_name: '{atlas_name}'', inset: {inset}, screenshots_folder: {screenshots_folder}"
49         )
---> 50         JupyterMixIn.init(self)
51
52         self.actors = []  # stores all actors in the scene
~\Anaconda2\envs\plot3Dbrain\lib\site-packages\brainrender_jupyter.py in init(self)
10     def init(self):  # pragma: no cover
11         # keep track if we are in a jupyter notebook
---> 12         if vedo.settings.notebookBackend == "k3d":
13             self.backend = "k3d"
14         elif vedo.settings.notebookBackend == "itkwidgets":
~\Anaconda2\envs\plot3Dbrain\lib\site-packages\vedo\utils.py in getattr(self, k)
236
237     def getattr(self, k):
--> 238         return self[k]
239
240     def setattr(self, k, v):
KeyError: 'notebookBackend'
I tried unsuccessfully to understand what was going wrong and to find someonne with the same issue, thus if you have idea it would be great !
also let me know if you need more informations,
Thanks

Hi,
You can search previous issues, and you'll find a few related issues in which this problem was discussed and fixed.
Also you can put code and stacktraces between two lines of 3x ` (backticks) to format code:
import brainrender

so that it's easier to read.


reverse_adoc:  partition the output .adoc file based on heading/style levels not working

hello @hmdne
i am working with an HTML file created by loading a correctly styled .docx (from an SDO) into LibreOffice then "save as" into .html.   additionally from this "save as" 43 images are output along with the single .html file.
the current Gemfile contains
# gem "coradoc"
# 20240920
gem "coradoc", git: "https://github.com/metanorma/coradoc"
gem "fontist", git: "https://github.com/hmdne/fontist", ref: "patch-1"

coradoc confirmation:
PS E:\github\iso-22726-1\conversion> bundle info coradoc
  * coradoc (1.1.2 0c1dbc3)
        Summary: AsciiDoc parser for metanorma
        Homepage: https://www.metanorma.org
        Source Code: https://github.com/metanorma/coradoc
        Path: C:/tools/ruby33/lib/ruby/gems/3.3.0/bundler/gems/coradoc-0c1dbc37e764
        Reverse Dependencies:
                metanorma-plugin-lutaml (0.7.9) depends on coradoc (~> 1.1.1)

the command line information shows the following:
PS E:\github\iso-22726-1\conversion> bundle exec reverse_adoc --help
Usage: reverse_adoc [options] <file>
    -m, --mathml2asciimath           Convert MathML to AsciiMath
    -o, --output=FILENAME            Output file to write to
    -e, --external-images            Export images if data URI
    -u [pass_through, drop, bypass, raise],
        --unknown_tags               Unknown tag handling (default: pass_through)
    -r, --require RUBYMODULE         Require additional Ruby file
        --track-time                 Track time spent on each step
        --split-sections LEVEL       Split sections up to LEVEL
    -v, --version                    Version information
    -h, --help                       Prints this help

using this command:
bundle exec reverse_adoc --split-sections 1 --external-images -o ./index.adoc ./infile.html
only index.adoc is being created along with 20 renumbered images in the "images" folder. there are no messages displayed during the conversion process.
i am wondering what i am doing wrong with the  --split-sections 1 parameter?
i have also tried --split-sections=1 but there is no change in output.
is there a hidden parameter that shows processing messages?
thank you.

First of all, as I noted, I'd recommend to convert .docx directly to .html (using coradoc command, not reverse_adoc - which assumes HTML). Under the hood it will use Libreoffice to do the necessary conversion, but it also contains a couple of filters to increase the success rate.

is there a hidden parameter that shows processing messages?
Yes, --track-time

It is likely your document after conversion doesn't create H1, H2, H3 etc. tags and therefore those can't be deduced (so can't be split). At this moment though I have no further ideas on how to increase the success rate, outside of the hint mentioned above, so unless I can get access to the document, I won't be able to help further.

hello @hmdne thank you for the reply. i have uploaded my output from Libreoffice here  i am thinking you may be able to access that.
in your earlier comment you suggested to convert .docx directly to .html using coradoc.   i tried that but it seems to not expect html as output format  only # Possible values: adoc, coradoc_tree_debug;   am i misunderstanding something here?
> bundle exec coradoc convert -I docx ./infile.docx -O html -o ./infile_coradoc_cvt.html  Expected '--output-format' to be one of adoc, coradoc_tree_debug; got html
Deprecation warning: Thor exit with status 0 on errors. To keep this behavior, you must define `exit_on_failure?` in `Coradoc::CLI`
You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION.

am i doing something wrong on the command line?
i think i am interpreting the command line parameters as shown here:
> bundle exec coradoc --help convert
Usage:
  coradoc convert [FILE]

Options:
  -o, [--output=OUTPUT]                                                         # Output file to write
  -I, [--input-format=INPUT_FORMAT]                                             # Define input format (defaults to input file extension)
                                                                                # Possible values: adoc, html, docx
  -O, [--output-format=OUTPUT_FORMAT]                                           # Define output format (defaults to output file extension)
                                                                                # Possible values: adoc, coradoc_tree_debug
  -r, [--require=REQUIRE]                                                       # Require additional Ruby file (eg. to load a plugin)
  -e, [--external-images], [--no-external-images], [--skip-external-images]     # Extract images from input document
  -u, [--unknown-tags=UNKNOWN_TAGS]                                             # Unknown tag handling
                                                                                # Default: pass_through
                                                                                # Possible values: pass_through, drop, bypass, raise
  -m, [--mathml2asciimath], [--no-mathml2asciimath], [--skip-mathml2asciimath]  # Convert MathML to AsciiMath
      [--track-time], [--no-track-time], [--skip-track-time]                    # Track time spent on each step
      [--split-sections=LEVEL]                                                  # Split sections into separate files up to a provided level
                                                                                # Default: 0

Required At Least One:
  --output  --output_format

any advice is helpful. thank you.

@ReesePlews Output format must be adoc. We are not doing two steps here.

I can't access your file. Also it would be better if I got a docx file and not an intermediary. Only then I will be able to assess the possibilities.

thank you @hmdne it is now clear that the output must be .adoc.
also the LibreOffice SDK seems to not be used in this process. instead the entire LibreOffice install seems to be required. that has been installed on the metanorma machine and added to the PATH. a sections folder is being created, but only 2 files are output, no matter what the level i use.
its really confusing there seem like two programs embedded together coradoc and reverse_adoc. after development is complete, please update the documentation.
during the conversion, this message appears on the screen:
C:/Users/admin/.gem/ruby/3.3.0/gems/premailer-1.11.1/lib/premailer/adapter/nokogiri.rb:68: warning: [DEPRECATION] positional arguments are deprecated use keyword instead.
i will ask @ronaldtse to give you access to the repo where the files are.
if they are helpful in testing these issues, please use them.  thank you.

@hmdne you should have access to the files here:

https://github.com/metanorma/iso-22726-1/tree/main/reference_docs/conversion

@ReesePlews there is no more “reverse_adoc”, the functionality is incorporated into “coradoc” now.

thanks @ronaldtse i will not test with the reverse_adoc any more.
an update on my checking is shown here:
in reference_docs/conversion, infile.docx (is the SDO published document)
using this command:
> bundle exec coradoc convert -I docx ./infile.docx --split-sections=1 -O adoc -o ./index.adoc
an index.adoc is created along with a sections folder with only two files section-01.adoc, and section-02.adoc
i would have expected 1 section for each clause and annex, etc.
re-running with:
> bundle exec coradoc convert -I docx ./infile.docx --split-sections=2 -O adoc -o ./index.adoc
produces no visible change from --split-sections=1
thanks again for the help.

thank you @hmdne appreciate you taking time to check. please discuss with @ronaldtse about this.
so my understanding is:

coradoc will now only translate from docx to adoc.
what happened to the html to adoc option, is that still there or is it no longer working?

are there any other options, other than a manual process?
thanks again for checking

@ReesePlews

coradoc will now only translate from docx to adoc.

No. It will internally use Libreoffice to translate docx to html and apply a couple of fixes. Which is why I suggest not doing that manually.

what happened to the html to adoc option, is that still there or is it no longer working?

It is still present and is working.

I have made a couple of fixes to the process (PR will follow shortly). It now creates a wider tree of files, corrects some of the issues we had, but there's a significant issue I wasn't able to solve. In short, let me try to explain this in layman terms:
We generally assume that titles (which is what we use to detect sections) are in the top level of the document. Let's assume a document is a flat tree semantically looking like this (I will use AsciiDoc to try to show the semantics, of course we are dealing with Word document, but showing DOCX code will help no one understand the issue):
== Heading

Content

=== Heading

|===
| some table
|===

This is fine. The document can be structured in HTML like, let's say:

Heading

Content

Heading

(...)some table(...)

This means, that each element is in a top level, we support that, and can split sections accordingly.
The incoming document, though, has something that can't be represented in AsciiDoc, so let me write some HTML:

Section three

Section content

So, basically, author of this document embedded a title inside a one element numbered list starting at number 3 (to add the number 3, of course).
I managed to write some exception code, which will extract a title from such a fragment. So that's no longer an issue.
But then, likely use of that semantic, in some fragment of the document caused LibreOffice to basically output invalid HTML.

Section four

(...)

Section five

Section content

I don't think I can do much about this form without breaking other documents possibly.
It is not that the incoming document is incorrect. I have inspected both DOCX and ODT versions of that file and they are correct. It is likely a bug in LibreOffice HTML converter.
What helps, is to open the document in LibreOffice, find each level 1 heading (there are 7 of them) and click the "Toggle ordered list" button in toolbar (the one highlighted in the middle of that image):

Then save that document as >>HTML<<.
Note that this is contrary to what I suggested earlier (to use plain DOCX). There is a reason for that.
We use a WordToMarkdown gem to automatically convert DOCX to HTML using LibreOffice. Furthermore, this gem does some postprocessing on the generated HTML and I assumed it may be a little helpful. I just found out there's a bug - it converts superscript to first level headings. We will probably agree on the fact it's incorrect. Doing that, it generates a section title. So, the document splits further sections based on footnote references which is not what we want.
Also note, that by level 1 heading I mean things like "Scope" or "Normative References". Sections:

Foreword
Introduction
Part 1
Annex (...)
Bibliography

Don't generate a heading when exported to HTML. So those you will have to handle manually.

@hmdne and @webdev778 thank you both for working on this modification.
i appreciate the detailed information. there are a lot of "intricate points" related to what is best and what formats are useful to pursue, etc.  i cannot say i understand them to any deep level.  what i do know is, the input document is one year old. i do not know about the internal production of this file by the SDO. because it was a published version i would have expected the styles to be uniform and conforming to ms-word. i dont know why such a strange structure would be used for specific parts like you showed.
from Jan-2025 the SDO will make an implementation change for document authoring. i dont know if similar .docx files will be distributed from this SDO, or if the format will be changed again.  for now, this is working well and suitable for my use. i am sure other users could benefit too from this update. i will mention these things to @ronaldtse.
today i have converted my document using the earlier command:
bundle exec coradoc convert -I docx ./infile.docx --split-sections=1 -O adoc -o ./index.adoc
and i have experimented with higher level numbers. i am not sure if there is merit to more sections or not. after the conversion the goal is to revise the document. that revision could see a restructure of the document too. the project team is not sure at this point. more smaller sections are probably easier to work with. i will consider.
do you think there is merit loading the .docx into ODT and  making an html export as you describe above?  i am using LibreOffice 24.8. if you would like me to test i can try, just let me know.
thank you both again for working on this fix!

i dont know why such a strange structure would be used for specific parts like you showed.

I wouldn't say it's their fault. Likely MS Word just did that kind of formatting. And then HTML exporter has a bug.

do you think there is merit loading the .docx into ODT and making an html export as you describe above? i am using LibreOffice 24.8. if you would like me to test i can try, just let me know.

I have tried that on that document. No change.


Investigate: why JEM battery dies so quickly

after about 2 hrs of continuous use

probably just related to using bad battery, works on mine, but failing for Brandon


[Feature]: DetailsList - Introduce ability to include conditions in columns_items / column properties

Current limitations
When the DetailsList-component is being used, and you want to include a column with a ColCellType = "image", you are required to add the intended icon (e.g. "icon:SkypeCircleCheck") and the color (e.g. rgb(255, 140, 0)) to the data rows that are displayed in the list.
Since one would rarely store data like this in the database (because it limits the developers ability to quickly change the icon or color), one would often be required to make use of the "AddColumns"-function to add these values to the data rows during runtime.
Needless to say, the use of the "AddColumns"-function produces a pretty significant issue with delegation - and thus, the DetailsList-component often loses its value in scenarios where you are working with +2000 records and need conditional values/formatting. And in such cases, I am always reconsidering "going back" to using vertical galleries.

Proposed solution
Make it possible for us to use If-conditions in column properties like "ColName" and "ColTagColorColumn".
Example:
ColName: If(new_column = "A", "icon:CheckboxCompositeReversed", "icon:Checkbox")
ColTagColorColumn: If(new_column = "A", "RGBA(15, 108, 189, 1)", "RGBA(51, 50, 49, 1)")

Hi @winthermichael - thanks for creating this - it's a really good suggestion.
At this time, Power Fx expressions can't be evaluated by custom controls internally for each row. It has to be done externally - hence the need for AddColumns.
Luckily, there is a work around which I show here https://youtu.be/zfyoBLbPvoQ?t=1117
Perhaps until there is support for custom composite controls like how the gallery and data table controls work, there could be an HTML template
cell type added that uses handlebar templates like the drag and drop control
https://youtu.be/mlrg0OfF4e8 - this would allow some conditional logic like you describe - but it would need to use the handlebars language, and not Power Fx.


Reorganise contract decoders

This reorganises contract-specific decoders to relevant /domain/{source}/contracts folders and their tests/builders to ./__tests__ folders to prevent them from being bundled upon build:
└─ domain
  └─ alerts
    └─ __tests__
      └─ ...
    └─ contracts
      └─ delay-modifier-decoder.helper
  └─ contracts
    └─ __tests__
      └─ ...
    └─ contracts
      └─ multi-send-decoder.helper
      └─ safe-decoder.helper
  └─ relay
    └─ __tests__
      └─ ...
    └─ contracts
      └─ proxy-factory-decoder.helper

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

-3 of 73 (95.89%)  changed or added relevant lines in 10 files are covered.
51 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.5%) to 91.622%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/domain/relay/relay.module.ts
0
1
0.0%

src/domain/relay/limit-addresses.mapper.ts
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/domain/alerts/tests/safe-transactions.encoder.ts
51
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
5835

Relevant Lines:
6174

💛  - Coveralls


Examples of other callbacks

Using L-BFGS leads to much faster optimizations however sometimes it is unstable.  I can see that adding more training points seems to help so I am doing that but I would like to checkpoint the answer so that I can go back to a known good state and try again with a smaller learning rate if it becomes unstable.  Do you have an example of using callbacks to do something like that?  It seems like all of the machinery to do it is there but I'm not sure how to use it.  Thanks again for your help.

Yes, it's simple. Say you want to do a checkpoint every 20 epochs:

from callbacks import CheckpointCallback
from callbacks import PeriodLocal

# The action is to do a checkpoint in the current ('.') directory
act_cb = CheckpointCallback(ckpt_dir='.')
# We only perform the above action every 20 local epochs
cond_cb = PeriodLocal(period=20)
# Link the action with the condition
cb = cond_cb.set_action_callback(act_cb)

solver = Solver(...)

solver.fit(max_epochs=100, callbacks=[..., cb])

On another note, we have been working on new features to save the internal states of solvers on the save-load-solver branch. It's not merged into the master yet; but when it is released, you should be able to do more in terms of continuing training a pretrained network, performing transfer learning, etc.

Thank you Shuheng-Liu!  I look forward to the new features!


Switch to golog for logging

Hey @myleshorton, sorry I didn't see your comment on this yesterday!  Actually, the netx change shouldn't make a difference: the change in this PR happens inside the internal HandleConnect function that we override with our own when we configure the SOCKS proxy here --and that uses a netx.Dialer already.

Cool thanks @atavism


Add NeuralPDE Paper Benchmarks

This adds the benchmarks from https://arxiv.org/abs/2107.09443 to the repository.
These should probably get setup to use GPUs but for now I think this should all train fine on CPU.

I'm just going to go ahead and merge and see what ends up building. @KirillZubov and @zoemcc follow up on these. We can use these as baselines in the future.


SAK-34020 user: Created & Modified

@ottenhoff ?

FYI since these are displayed to the user the toString() isn't that user friendly.

I've tested this and LGTM.
Before:

After:

#5416


Can't connect to the MongoDB database and all parameters are correct

Description
Hi. I have MongoDB in my LuckPerms config and it was working well, but now it has been throwing this error recently, and I don't know why.
Reproduction steps

I connect luckperms to MongoDB database
I turn on the server
The error

Paper: 1.8.8
LuckPerms version: 5.3.42
Error:
https://pastebin.com/d7qivYhL

Your DNS is having issues by the looks of it, that's outside of LP's control. Ensure your network connection is working properly.

I have my server in a hosting company, so i can't check my network connection

Talk to their support then, nothing LP can do about it.

@lucko I noticed that you closed a lot of these issues without adressing them properly. You can easily reproduce this by creating a free cluster on MongoDB Atlas and using the srv connection string in the config.
IMO it is not an issue with the driver but rather the way your plugin handles MongoDB connection strings.
You should be able to just paste mongodb+srv://dbUser:<password>@mycluster.awfcu.mongodb.net/myFirstDatabase?retryWrites=true&w=majority for example and be fine. The issie is not an unknown host as many people (with half knowledge) claim. This is definitly a bug.

This is supported already:
https://github.com/lucko/LuckPerms/blob/4598435dd4e1e3187f4ed58e770785ec08878c7d/bukkit/src/main/resources/config.yml#L164-L166


Prevent Tech/Civic Popup from flashing on screen

What this change does
Based on the discussion in #169 - solves the "Popup briefly appears" issue by never queueing the popup.  Additionally:

The Sean Bean voiceover will no longer play when the popup is not shown; it will only play when the popup is visible.
Updated the "Civic/Tech Popup Audio" option to control whether the audio clip is automatically played when the Civic/Tech popup appears
Updated the CQUI Options Menu text and tooltip accordingly

Previous iteration of this change:
Hides the Animation control and the parent Grid control responsible for the dimmed screen and "Research/Civic Completed" popup (respectively), so that they do not appear on screen (albeit very briefly) when Tech/Civic Popups are disabled.
Tested
Tested on a vanilla (no expansions) game.  Same file is used no matter vanilla/exp1/exp2, so shouldn't have to test the others.

Visual Popup disabled, Audio enabled (current CQUI default): No "flash", no sound clip
Visual Popup enabled, Audio enabled: Popup displays correctly, Sean Bean reads things aloud
Visual Popup enabled, Audio disabled: Popup displays correctly, no Sean Bean unless the quote button is clicked on the popup.

Additional Info
When a Tech/Civic is completed, a LuaEvent is triggered (NotificationPanel_ShowTechDiscovered / NotificationPanel_ShowCivicDiscovered), and the following happens:

That function tied to the LuaEvent calls AddCompletedPopup
AddCompletedPopup pulls all of the info for that completed Civic/Tech, calls UIManager:QueuePopup
(Various other things occur in the game)
The callback function OnShow  is called, which calls OnRefresh, which calls RealizeNextPopup.
In RealizeNextPopup, the audio associated with the tech/civic is played if CQUI_TechPopupAudio is true (its default value), and UIManager:DequeuePopup is called if CQUI_TechPopupVisual is false (its default value).
When UIManager:DequeuePopup is called, the popup window disappears.

I would like first to discuss in the incident what we want to achieve as a result, then implement it properly.
As for now this is still rather ugly solution and certainly not the only one possible hence the discussion is needed.

No problem.  I posted a response to the issue thread #169

I have a suggestion to use this opportunity and change this file into an extension.
From what I see RealizeNextPopup needs to be overwritten but AddCompletedPopup not because you basically block entire function with the flag.
So it will end up like this:
if cqui_techpopupenabled then
base_addpopup()
end

and change the filename

yeah, good call.  it's stupid amounts of late right now though so I'll do it tomorrow

Hmm... moving to TechCivicCompletedPopup_CQUI.lua presents a problem where we want to prevent the automatic playing of Sean Bean when a popup happens.
The control for the playing of that sound is in RealizeNextPopup(), which iterates through the m_kPopupData table (local to the file) and pulls out the first item there to show the popup and play the audio.  There's a few things we can do here:

Stick with the full file replacement; rename properly, clearly indicate (via comments) where the CQUI changes are.  There are very little differences between this file and the Firaxis version, so this is probably the way to go.

Come up with some way to get at that m_kPopupData table in between the AddCompletedPopup and RealizeNextPopup calls.  RealizeNextPopup needs to replace the entirety of the unmodified version because of the option to automatically play the audio.
a. I don't see m_kPopupData returned from any function, so we wouldn't be able to hook that function and grab a copy of it.
b. We could force the unmodified OnShutdown() to run, which stores away the m_kPopupData, then force the OnGameDebugReturn() to run (calling LuaEvents.GameDebug_GetValues() does this)... but that just feels like a mess.

One thing I tried that does not work... this is in the RealizeNextPopup() function:
    if (m_kCurrentData and m_kCurrentData.audio and CQUI_TechPopupAudio) then
        UI.PlaySound( m_kCurrentData.audio );
    end

    RefreshSize();

With RefreshSize that immedate next call, I added a call to StopSound() (function that does as it says for both Civic and Tech)... and the result was a brief blip of the Sean Bean audio.  Basically an audio version of the visual problem we're trying to solve here.

I tried to do the shenanigans with the Context cache and all that and basically it breaks the TryClose because it expects m_kCurrentData to still be populated after RealizeNextPopup had copied whatever was at the top of m_kPopupData to it.
Anyway... I'm open to other ideas.  Not sure how that can be reasonably addressed without the full file replacement.

Going with option 1, clearly marking the changes for CQUI in the file.
Added all the translations, via Google Translate... this is where I hope that Google Translate is saying the things it says it is saying :)

Why is there another branch already closed merged into that PR? Looks a bit messy.

Yuck.  It was not intentional - that was something that happened while I was setting up VSCode on my other machine last night.  Basically, Git causing some confusion while setting it up and that branch being the last opened on the machine I typically use for coding and those files being "synced" on OneDrive.  A mess.

ok, dammit Git
wouldn't let me Revert, so tried Reset, and it apparently did nothing good

I'll create a new branch and new PR shortly


readthedocs no longer compiling due to missing nbsphinx

Apparently readthedocs can't figure out the extra_require variable in setupy.py and is not install nbsphinx causing the compilation of the docs to fail.

How do we fix this?

For now by removing nbsphinx from the  extras_require in setup.py, and
putting it back in requirements.txt.
There is probably a better way to do it, probably by fiddling with the
docs/conf.py file, but I don't know for sure.
On Mon, 11 Nov 2019 at 17:46, Guy Davies<EMAIL_ADDRESS>wrote:

How do we fix this?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/grd349/PBjam/issues/178?email_source=notifications&email_token=AEJWO33U4XU2O2GI24OHJGTQTGK7NA5CNFSM4JKFH7QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDXSMJY#issuecomment-552543783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEJWO36WJZUPTDTZXMAP3PLQTGK7NANCNFSM4JKFH7QA
.

temporarily fixed


Feat: Wireframe 2.1 - View existing tables

Description

This PR adds a simplified version of wireframe 2.1 (overview of existing data) where users can select a row and get redirected.
This will enable users to choose to create new metadata, edit existing metadata, and upload metadata (there pages are not completed yet, so currently all buttons redirect to the same randomly chosen page.
Note: "Data Rows" and "Last Upload" contain the placeholder value "Cell".

Related Issues
See Issue #162.
Testing

[ ] Yes
[ ] No, not needed (give a reason below)
[ ] No, I need help writing them

Reviewer Focus

This PR requires an in-depth review.

Checklist

For all PRs that are not general documentation

[ ] Tests accompany or reflect changes to the code
[ ] Tests ran and passed locally
[ ] Ran the linter and formatter
[X] Build has passed locally
[X] Relevant documentation has been updated (none)

@lwjohnst86 How do I update the active deployment? It's outdated? :)

@signekb it seems to have built now. Or is it outdated still?

@lwjohnst86 Ah, maybe I was just too impatient

I'm done editing now, I promise 😁

@philter87 and I have now reviewed the code together and simplified the scripts.
Note two changes in particular:

It is now not possible to deselect a row when it has been selected (we discussed this, and it might not be necessary to deselect a row after all)
We have removed four tests that check that the redirects when the different buttons have been clicked. This is not possible anymore with the js solution.


Validation error on image upload causes file field to be emptied

When you go to add an image and no title is given, the image selected is lost and needs to be selected again.
Would be useful to not have to do that and just give the title again.

Fix awaiting review in #2538


Long text on card break the layout

When a title is too long on a card the layout breaks in multiple places
When creating an offer

On the explore page

On the home page when there is an auction
Not the space on the next card

I also noticed this issue a few days ago but forget to create the issue:
https://user-images.githubusercontent.com/5823445/218032069-e7dcc4da-35a2-4796-85bc-a498a489f087.mov


Test on large images

Hello can you please tell how Much images are relevant for training pcanet ? I’m trying to use large images ( 1500x1000 )... is it better to resize before ?

It is based on your computational resource and the number of images in the dataset. However 1500 x 1000 should be too big for general laptop / desktop machines.


Deposit by index issue

Check if deposit by index issue is present and fix.

Issue is due to Solidity returns the default value for structs and mappings, but not for arrays.  If the element 0 of the array is undefined, it reverts trying to get it.

Fixed in https://github.com/superpowerlabs/synr-seed/pull/125


Are there any plans to use new router instead of deprecated,

When i try to use new router it throws promise rejection in the zone.js

There are, see #40
Pull requests are welcome :)


Add a Gitter chat badge to README.md

scalaz/scalazzi now has a Chat Room on Gitter
@danielyli has just created a chat room. You can visit it here: https://gitter.im/scalaz/scalazzi.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

wat? just use scalaz/scalaz


Refactoring of DB

https://github.com/button-tech/utils-node-tool/blob/master/shared/db/db.go#L72
No need for bool return,
Also Add method is not adding anything to DB. We need to rename to Update**

Fixed bool return
In AddToStoppedList function we append node address to list:
stoppedList := append(entry.Stopped, address), and then we update entry(list with stopped nodes) in DB
When we use this func, we can only ADD value to the stopped list
So, I think it's not a bad naming.


Clean Twig files formatting

Questions
Answers

Description?
Clean Twig files formatting

Type?
refactor

BC breaks?
no

Deprecations?
no

Fixed ticket?
-

Sponsor company
@PrestaShopCorp

How to test?
Check if the module still works

This pull request seems to contain new translation strings. I have summarized them below to ease up review:

Admin.Actions

[ ] Go back

(Note: this is an automated message, but answering it will reach a real human)

PR merged, well done!
Message to @PrestaShop/committers: do not forget to milestone it before the merge.


Show workflow template version for the executions

Want to be able to see what version it ran. The manifest is visible in the details anyway, but want to see at a glance too.

@ru


Protect swagger documentation UI with a password

Hey ,I want to ask how I can set a username and a password to the documentation so it will not be accessible to anyone read the options but didn't find any option that actually supports that

See if this works for ya https://github.com/glennjones/hapi-swagger/blob/master/examples/basic.js

worked thanks <3


Ollama tools

Example
from ollama import Client
from pydantic import BaseModel

import instructor

class UserInfo(BaseModel):
    name: str
    age: int

client = instructor.from_ollama(Client())

user_info = client.chat.completions.create(
    model="llama3.2",
    response_model=UserInfo,
    messages=[{"role": "user", "content": "John Doe is 30 years old."}],
)

print(user_info)

Ollama hasn't currently released the application with the structured outputs or the ollama-python package so this currently needs to be run with a local build. Follow their Guide to run.

Closing


Using a database like LokiJS for the Store.

Hi,
I'm currently working on a hybrid mobile application and would like to use Redux.
The mobile app needs to have data persistence and handle a lot of data. So far LokiJS (http://lokijs.org/#/ ) looks like a super performant and easy solution.
I'm very new to Redux and I'm not sure if I can make it work with LokiJS. My idea was to use LokiJS in the Reflux store to contain the whole application state. However always creating a copy of the LokiJS database is not really feasible, so I'm not sure how I should handle updating the database (because updating it would be mutating the state, which is bad as far as I understood)
Does anybody have experience with such a use-case and some tips on how to handle this? Are there alternative concepts that would allow for data persistence and similar performance?
Best,
Andreas

Using a mutative database as your store sounds like a bad idea, as you suggest.
Maybe if you wrapped it in something like Datomic?  But really, what are the features of LokiJS that you want/need to use?
Are you planning to perform a lot of complex queries that can't easily be replaced with map/reduce calls against ImmutableJS or Updeep or even plain objects?
If all you want is local persistence, there is redux-localstorage, although I'm not sure if this meets your performance requirements.

Thanks, I'll look into Datomic!
Well, I will have a lot of data to handle and want to keep the app as responsive as possible on all devices. I have yet to run benchmarks whether this could be done with plain javascript objects or ImmutableJS, I just thought LokiJS would be a good option because it would definitely offer the necessary performance. Also I like how easy it is to do queries in LokiJS and the fact that it offers multiple persistence adapters out of the box.
I just noticed that the LokiJS author already has "Create a flux store that utilizes LokiJS" on his roadmap, and there was a nice discussion here: https://github.com/techfort/LokiJS/issues/109

I've heard about Immutable+Redux giving truly impressive performance together so you might want to try it first.

Closing as inactive.


HDDS-2982. Recon server start failed with CNF exception in a cluster …

…with Auto TLS enabled.
What changes were proposed in this pull request?
Recon server crashes on a cluster with Auto TLS enabled due to CNF error while starting up its HTTP server. Recon's Httpserver is inherited from BaseHttpServer that is used by all the other components in Ozone. The underlying problem is being fixed in HDDS-2041. Since the other components like the SCM, OM start successfully even if their HTTP Server is not up, this patch relaxes the start for Recon as well.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-2982
Please replace this section with the link to the Apache JIRA)
How was this patch tested?
Manually tested.

cc @swagle

@avijayanhwx there are some integration test failures. they do not seem related however can you please push an empty patch to re-trigger the tests.

there are some integration test failures.

Acceptance test failures are tracked in HDDS-2977 and HDDS-2983.  Please do not re-trigger until those are merged.


Undo/Redo buttons: Add dedicated buttons for undo/redo actions

Hi,   @vishanurag   Implementing Undo/Redo buttons will enhance user experience.
i want to work on this feature.

Similar issue is already assigned to someone else


camera d455 reset to factory default

librealsense
2.49.0 RELEASE

OS
Windows

Name
Intel RealSense D455

Firmware Version
<IP_ADDRESS>

Advanced Mode
YES

Camera Locked
YES

Usb Type Descriptor
3.2

Product Line
D400

I misadjusted my  camera d455 by using tare calibration
I want to return to the original factory calibration
I use Intel.Realsense.CustomRW, but it crash
How to restore the original factory settings

Hi @Owenyu034  You can repeat the calibration as many times as you wish and then save the calibration with the Apply New button once you achieve a good one that you are satisifed with.
Alternatively, you could go to the Calibration Data option of the RealSense Viewer's 'More' menu (the option directly beneath 'Tare Calibration' to bring up the Camera Calibration window.
Left-click on the black box in the bottom corner beside I know what I'm doing to change the box to blue (On).  This unlocks the 'Restore Factory' option at the top of the Camera Calibration window.
Left-click on 'Restore Factory'.  You may see a brief blue flash in the window as the camera's factory defaults for calibration replace the calibration values that were previously displayed.

Thank you  for your suggestions! My camera has been successfully restored to the original factory settings.

Great news @Owenyu034   :)  Thanks for the update!

Case closed due to solution achieved and no further comments received.


Don't set server usage for client certificates

Closes #273

@FiloSottile Any plans to merge this?

@travisgroth Can you rebase this pr ?

letsencrypt certs have both server and client set:
X509v3 Extended Key Usage:
                TLS Web Server Authentication, TLS Web Client Authentication

Which is required for protocols like XMPP
So currently I'm using -client to create certificates like letsencrypt makes to test XMPP things, it'd be a shame if that was removed.  Probably what should happen is without -client it should add both key usages and then -client could take away only TLS Web Server Authentication ?

@moparisthebest Maybe there should be different modes for this flags. Like default should be (server + client). If the -client then only client, if -server then only server?


 By luck, it almost never matters.
The main commit tracks the query/response latency for all peer connections, reports this in RPC, and uses it to decide which server(s) to query for ledgers and transaction sets.
The PeerSet timer logic was slightly reworked to reset itself when it fires, rather than on activity. This reduces the number of times we need to reset the timer and also allows it to trigger the ping logic that the latency uses. (That's why they're in one commit.)

LGTM :+1:


No 1.18.2 update

It seems that you left the mod off on 1.17.1, but this is a rather uncommon version to see mods for and makes it hard to produce a modpack with this mod. A 1.18.2 version would be a perfect place to end this off as it has recently become one of the most modded recent versions. Any consideration would be appreciated!

It appears that the reason for this is that I was attempting to improve the mod's functionality while updating it to 1.18, encountered some difficulties trying to make the damage boost apply even on crits, and proceeded to entirely forget about Minecraft modding altogether, I have uploaded what should be a fully functional 1.18.2 version to curseforge, and the latest commit also includes said version;
Further updates will come when I figure out how to use Fabric more effectively.

I thank you for adressing this issue, i understand that mod developing can be hard as all hell, as simple coding itself can be painfully annoying. Its great to see at the very least it isnt abandoned as of yet, im sure you can get the hang of fabric soon, a lot of devs say its much easier than forge. Might i suggest looking for places where mod devs discuss modding and provide help to one another, if there isn't one it would a good idea to see if its possible to create one. I look forward to your future updates and mods!


M05-LAB13: Deployment fails at the end of task 3

What happened?
Exercise: 01
Task: 03
Step: 20
Description of issue:
Deployment fails with the error "template deployment is not valid according to the validation procedure".
Repro steps:

Complete all tasks till task 3 step 20
Deployment fails

Lab
Lab 13 Integrate Azure Key Vault with Azure DevOps
Relevant screenshots

Please excuse the incorrect numbering in the lab steps. The steps are same as GitHub.
Do you want to help us? 👏

[ ] Create a Pull Request by following this project's Contribution Guide

I had the similar issue, any suggestions on this one?

@petender @unaihuete93, are you seeing this issue recently?

Just tested it this afternoon. Apparently, the issue seems related to the Build Agent reference still being Ubuntu 18.04, where it should be Ubuntu 20.04 - following the exact guidelines, I got the exact same error, where once updating to the latest Ubuntu version, deployment ran successfully.

Verified, that all resources were deployed successfully.
Thank you all.


Required to zoomin or zoom out at the verticale line on the graph

** Required to zoomin or zoom out at the verticale line on the graph:
ScottPlot Version:5.0.33
When zoomin(0.5,0.5), the graph area is zooming from the center of the graph. But I want to zoom in the area located near the vertical line?

Hi @kareem469,
Rather than calling ZoomIn() I recommend calculating exactly what your new axis limits you want to be then use SetAxisLimits()


Module console return value does not work

Describe the bug
When invoking console methods from the maintenance, the return value is no longer shown
To Reproduce
Steps to reproduce the behavior:

Open Maintenance
Invoke any console method with a return type other than void
You will only see an empty result

Expected behavior
I would expect to see the methods return value in Entry Format
Additional context
-

@mmarkwort would you mind taking a look at this?

After some investigation I only found a problem when just a simple type (like e.g. string) is returned. I tested it with the TestModule:

Echo did not work
ServerInfo delivered a valid result

Simple types will only generate an Entry with an EntryValue but with no SubEntries. This is currently not supported by the Maintenance.
I fixed the issue with simple types (see https://github.com/PHOENIXCONTACT/MORYX-MaintenanceWeb/pull/17). We should discuss if the class MethodEntry also should describe the return type. This would help to select the right editor.

Thanks for taking a look. I remeber we changed all usages to have "Root" or "Result" objects. Doesn't Entry.Value.Type contain the necessary information whether it's class or primitive?

Done.


Elastic net - Base

@sal-glitch  Please check the readme.md and contribution guidelines.We don't accept algorithms in .ipynb format.You have to submit the algorithm in .py format.

@ashwani-rathee Sorry about that, I will make another commit in .py format

@ashwani-rathee can you review it again. I have changed it to .py format. Thank you!

@geekquad Looks good to me
@sal-glitch Can you comment out the main() where testing of the algorithm is done

@ashwani-rathee Hey I have commented out the main()


Redirect controllers

Add new RedirectController (in addition to RenderedController and StaticController)
Add ability to specify redirects in podspec.yaml
Add ability to manage + deploy redirects to GCS
Probably need to support tracking redirects in deployment indexes as well

Here's the first revision of a proposed syntax for declaring redirects. Note how we support multiple "from"s that all go to the same destination. Destinations can be either paths (which can be paths or full URLs – basically anything that the Location header can be set to) – OR content documents, whose URLs can be derived.
redirects:
- from:
  - path: /foo
  - path: /bar
  to:
    path: /qaz
- from:
  - path: /baz
  to:
    doc: /content/pages/home.yaml
- from:
  - path: /bee
  to:
    path: http://www.example.com

Will query parameters persist during the course of redirection?

I hadn't specified that behavior, but the flexible (and somewhat verbose) syntax would allow us to control the redirect rules and indicate that something like that should happen. :)
Note that in production, Grow actually wouldn't control the serving behavior, since it's just a static site generator. It would just indicate to the server what the redirects are and how they should work. I don't know if a static host like GCS or S3 would have the ability to preserve query parameters. But a custom server would. (Or, if the redirects were implemented as generated static files, that would work too.)

Ah right, of course. :)
So basically if I define these in a grow site, they will work locally, but when I deploy -- I also need to go configure them server-side.
It would be pretty slick to be able to define these in the rules you've demonstrated here, and then based on your deploy target, have the appropriate server configurations generated and deployed along with the site.
-mm

That's actually entirely the purpose! :) GCS and S3 support writing redirects. The idea here is that you can declare redirects locally as part of your pod, and then deploy them to destinations that support redirect configuration.
Redirects when deploying to a local destination, for example, would be no ops.

Cool, thanks for the deets! Look forward to seeing it land!


NCDA - Translations for the Feature

Issue
Adding translations for NCDA feature
Tasks

List texts that need translations for the team to add translations
Add translations in the app

@Diama1 This issue is completed, right?

@anvmn Yes it is done