FC Layer using the GEMM

Hi,
I am trying to implement the FCLayer using the GEMM below are the dimensions and configuration im using. Please  let me know if this is correct Since im facing below error while running/.
"What():  in Iterator ./arm_compute/core/Helpers.inl:211: Maximum number of dimensions expected 1 but dimension 1 is not empty"
NEGEMM FcLayer;

LayerTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096), 1, DataType::F32));
FcLayerWgtTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096,(long unsigned int)4096), 1, DataType::F32));
FcLayerBiasTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096), 1, DataType::F32));
FcTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096), 1, DataType::F32));

/*Done the allocations of the above */
.......................
........................
FcLayer.configure(&LayerTensor, &FcLayerWgtTensor, &FcLayerBiasTensor, &FcTensor,1.0,1.0);
FcLayer.run()

Are there any transpose need to be done before passing to run.
Thanks.

The same dimensions may confuse so changing the dimensions:
NEGEMM FcLayer;
LayerTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)9216), 1, DataType::F32));
FcLayerWgtTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)9216,(long unsigned int)4096), 1, DataType::F32));
FcLayerBiasTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096), 1, DataType::F32));
FcTensor.allocator()->init(TensorInfo(TensorShape((long unsigned int)4096), 1, DataType::F32));
/*Done the allocations of the above */
.......................
........................
FcLayer.configure(&LayerTensor, &FcLayerWgtTensor, &FcLayerBiasTensor, &FcTensor,1.0,1.0);
FcLayer.run()

Hi @uu-praveeng,
from your code I have noticed that the allocation of the tensors happens before calling the configure() method. The tensor's allocation should be after the configure method in order to calculate properly the padding bytes needed for computing GEMM.
Could you try to move the allocation of the tensors just before the run()?
Also I noticed that the tensor for the weights has the following shape:
Colums = 9216
Rows = 4096
But I think should be:
Rows = 9216
Columns = 4096
in case you do not transpose the weights.
Hope this can help you,
Gian Marco

Hello @uu-praveeng ,
Any reason why not to use FullyConnectedLayer which already is implemented using GEMM?

gmiodice ,
Allocations are done after configure.My bad I have kept query in such a way. Will check with what you have suggested.
GeorgeARM
We implemented the FCLayer using the NEFullyConnectedLayer.We wanted to see if there any difference in speed with NEFullyConnectedLayer vs NEGEMM .
Thanks

Hi @uu-praveeng and many thanks for all your information.
Regarding the aspect "We wanted to see if there any difference in speed with NEFullyConnectedLayer vs NEGEMM", you shouldn't see any performance difference between NEFullyConnectedLayer and NEGEMM as the implementation of NEFullyConnectedLayer is actually based on sgemm.
In particular, NEFullyConnectedLayer would call the kernel NEGEMMMatrixMultiplyKernel for your specific case.
Thanks

ok thanks


WordCount instead of Grains as a core exercise

Sorry for being late to this party. Triggered by the 'math discussion in  #4110 that excludes Grains.
And related to revisiting the Ruby track (#823, #815)
I would be very happy to see 'math' topic added to Grains, make it core: false and make WordCount a core exercise instead.
Currently, the non-math solution to Grains is crucial in the curriculum to discuss Enumerable methods, while the Enumerables don't offer the optimal solution.
WordCount is a better candidate for that in my opinion, because there are some suboptimal Enumerable options, that are easy to steer into the direction of the optimal Enumerables.
Apart from that, WordCount offers a lot more that should be introduced earlier in the track, like:
Initialize a class, extracting methods, public and private interface, attr_reader.
All of which get a quick follow up in Scrabble Score, that comes immediately afterwards.
So, any 'mentoring debt' can be taking care of there, and Scrabble also offers a more specialized Enumerable method, which builds easily on the skills acquired in WordCount.
TL;DR How about marking Grains as a math topic and replace it with WordCount as core exercise?

Whatever you think is best. :smile:

@F3PiX where are we with this? Is this issue still relevant?

It is, but I'm currently working on a lot of more chances, so let's discuss them together.
Thanks for the reminder :-)


Support nested bucket folder in external buckets

Closes #2531

Actual behaviour is kept and nothing is broken.
If external bucket contains bucket folder it's used for finding manifests. This should keep external repositories more friendly for new users to see Readme without additional scrolling.
Feel free to suggest directory name change. I kept same as main bucket.
How to test:

Create folder TestBucket in $env:SCOOP\buckets
Create manifest CosiTest.json with hello manifest # Or some other name which definitely cannot exists❗
execute .\bin\scoop.ps1 install CosiTest within this branch
Installing done
.\bin\scoop.ps1 uninstall CosiTest
Create folder bucket in TestBucket directory and copy CosiTest.json as bucket\CosiTestBucket.json
.\bin\scoop.ps1 install CosiTest
Installation will failed with Couldn't find manifest for 'CosiTest'.
.\bin\scoop.ps1 install CosiTestBucket
Installation Done
.\bin\scoop.ps1 uninstall CosiTestBucket
Unnstallation Done

Also tested uninstallation after moving manifest to bucket folder and it's working.

Install CosiTest from root (without bucket folder)
Create bucket folder and Copy CosiTest.json (without renaming)
Uninstall completed succesfully.

Not sure how to handle scripts folder as in tortoisesvn. It uses bucketdir as reference to script folder. Should it be moved too or handle it some other way?


How to test Model you had train ?

Hello author
I want to test model of you but i don't know do that
Please help me

Hi (and sorry for the delay),
Basically the evaluation phase runs the agent on the last (and most complete) stage, on the town you specify, while collecting useful statistics to compute metrics for comparison (as detailed in the paper).
You can refer to the code: core/learning/evaluate and here, which is the full evaluation.
There is also a Jupyter notebook that computes the metrics from the agent runs. It's a bit messy but you should be able to use it.


Citation key is not shown completely (is cut)

Debug log ID
L4GHSZ9T-euc/6.7.135-6
What happened?
Using the latest Zotero 6.0.27 and Better BibTeX version 6.7.135 on Linux.
Citation key in the Info panel cuts the name, despite there being a lot of space on the right.

Instead of 1996_CultureHonorPsychologyViolenceSouth_byNisbetta, it only shows half.
I have been told that this is an issue which I should report here.

Works great now, thank you!

It'll be in the next release.
Just out of curiosity, do you really use keys this long?

Just out of curiosity, do you really use keys this long?

Yes. The thing is that I don't use Zotero for academic sources, but for all the .pdfs. This includes publications, books, etc.
Also, a big decision that influenced the chosen format was to use Zotero to keep all the copies of my reference web pages.  Iso dates in names help a lot, but having sensible search terms directly as part of the name is much better.
You can see the usefulness easily in the names of the books, when the main name can just be gibberish, but the secondary name after the colon is the one that has proper information:

Harmful to Minors: The Perils of Protecting Children from Sex
Building a Second Brain: A Proven Method to Organize Your Digital Life and Unlock Your Creative Potential
Algorithms to Live By: The Computer Science of Human Decisions
Connect: Building Exceptional Relationships with Family, Friends, and Colleagues
, you get the point.

The same thing with the article/news pages.

‘He probably didn’t believe they were live munitions’. Questions abound after top Ukrainian military aide killed by grenade he received for his birthday
What’s the catch? In Russia’s Saratov region, the authorities’ response to a film about housing shows art can still shame the government into action

All those would be referenced in my Obsidian Zettelkasten. And sure, the keys could just look random and I could open them every time I would have needed, but for sure getting the idea about the content right there in the name is so much better!
It's the same idea as properly naming not only my Obsidian notes, but also the images that are part of those notes. Sure, some sort of random UID would work as well, but having sensible names is better, especially if I want to search or reference files from other notes.
In the end this idea of using .pdf and Zotero to keep news/articles archive didn't pan out, but the chosen naming scheme stayed because it is still much better than the Academic defaults.


nalgebra f64 interop

Right now flight uses f32s everywhere internally. This makes a lot of sense because the GPU only uses 32-bit floats. However, many applications that incorporate physics would rather use 64-bit transformations. Ideally, nalgebra should have some kind of cast function that users can use to convert ... does it?

nalgebra used to have a function literally named cast, but it isn't there any more. What replaced it?


Choose whether note is resolvable

Feature Description
While working on #417, I've noticed that notes in gitlab.nvim are created as resolvable (i.e., as threads) when they are created directly with require("gitlab").create_note(), but as non-resolvable when they are first created as a draft note and then published. While I don't think this causes any real problems to users, it may be a little confusing why some notes need to be resolved and some not.
To match the behaviour of Gitlab online, (and if this is supported by go-gitlab) users should have the possibility of choosing whether they create a note as a non-resolvable comment or a thread. This could be implemented as another field in the note popup next to "Draft", something like "Type" with the values "Comment" and "Thread".
I've also just noticed, that Gitlab also allows creating "Internal notes". gitlab.nvim should probably at least show the internal flag on the note, ideally, also enable users to create internal notes (that could be another field in the note popup).

Regarding internal notes, there's a feature request in the new repo for the gitlab go client, so apparently this is not yet supported.


Add support for the luv_colours dataset in ggplot2

https://ggplot2.tidyverse.org/reference/luv_colours.html
Maybe unavailable csv file:
https://github.com/tidyverse/ggplot2/blob/57ba97fa04dadc6fd73db1904e39a09d57a4fcbe/data-raw
License: CC0-1.0
https://community.rstudio.com/t/licenses-for-data-in-tidyverse/129334/7

I actually asked hadley about the datasets, and basically his stance
is that all datasets should be CC0. So, if you want to cite something,
cite the package, or just cite the dataset as CC0.

tidyverse/ggplot2#6105

because I see no need within the R ecosystem for ggplot2 to explicitly export these datasets as csv file, and it is straightforward to export them if so needed.


feat(install): Add PIXI_NO_PATH_UPDATE for PATH update suppression

Close #686
The PR mainly adds the option of using a PIXI_NO_PATH_UPDATE environment variable to suppress PATH update, when installing pixi from install script.
Besides the option added, since the PR is about environment variable, the way of updating PATH in the PowerShell install script has also been modified from using [Environment]::SetEnvironmentVariable to set environment variable to get and update environment variable from Windows registry.
This change doesn't affect pixi installation directly and is primarily to address a potential issue that SetEnvironmentVariable expands all environment variables and this behavior may not be welcomed in some cases.
$Env:PATH
#> %USERPROFILE%\bin;

# when using `SetEnvironmentVariable` to update PATH, `%USERPROFILE%` will be expanded
#> C:\Users\userA\bin;C:\pixi\bin

# when using registry to update PATH, `%USERPROFILE%` will be kept unexpanded
#> %USERPROFILE%\bin;C:\pixi\bin

Related code are copied from ScoopInstaller/Install I'm maintaining.

This PR breaks the installer for linux in some cases where it fails with
bash: line 83: PIXI_NO_PATH_UPDATE: unbound variable


can not see install button azure data studio marketplace

There is no button call install or VSIX file in Azure data studio marketplace

Hi @minhazrwe,
Please note that this is a Microsoft limitation.

We currently don't have support to host third-party extensions. Instead of downloading the extension, Azure Data Studio has the option to browse to a download page. To set a download page for your extension, set the value of the asset Microsoft.AzureDataStudio.DownloadPage.


Resolved #1 Upgrading libraries and other changes

Upgraded library versions

Thanks a lot for your help. I've merged to develop branch and will update other repos accordingly. Will test all other repos before a new release.


M5Stack Core 2 support

Will this software also work with the M5Stack Core 2 which is ESP32 based?
https://m5stack.com/products/m5stack-core2-esp32-iot-development-kit
The display is 2.0"@320*240 ILI9342C with a FT6336U touch screen.
I have one currently using https://github.com/sieren/Homepoint on the Core 2 but that’s not working as expected for the Core 2 at the moment.

There is basic support for the M5strack core2 in the source code. We have not released any binaries for this platform yet.
Some parts are not ready for the M5stack core2, but you can certainly try it out and provide your feedback.
To get your device flashed, you should install Visual Studio Code with PlarformIO and build the configuration named m5stack-core2.


Add ContributingGuidelines.md

The Contributing Guideline documentation will contain set of guidelines that will help contributors during the contribution process.
File type markdown.

@thestarsahil Could you please assign this issue to me under GSSOC 23.
Thank you!

@shanvijha30 I am thrilled to receive your project request!
Go ahead !
If you have any questions, feel free to contact me via email or Discord or reach out to our team of project mentors.
Thank you for your contribution and let's make this project a huge success!

@thestarsahil Added PR #44
Please review it.


add curriculum identifier

In a workshop object, it would be good to know what curriculum was taught (e.g. DC Ecology, SWC with R) and be able to pull out that information so that we can track how often each curriculum is taught and link specific curricula to assessment.

@ErinBecker some questions for you:

Can you provide me with a list of all curricula?
Is this list going to change frequently? How often / when?
Is workshop curriculum available via workshop page metadata (<meta> tags)?

first drafts at:

https://carpentries.github.io/curriculum-feed/carpentries_curricula.json
https://carpentries.github.io/curriculum-feed/carpentries_lessons.json

Thanks @fmichonneau, this clears things up for me. Unfortunately, I don't see curriculum/lessons in <meta> tags in workshop template. Without this tag, entering this additional information is admin's responsibility.

I see. I'll add this info to the meta tags and report back here. Thanks.

@pbanaszkiewicz after discussion, we decided that we would obtain more reliable data if this was entered by the workshop administrators. Current curriculum tags should be:

swc-python
swc-r
swc-es-python
swc-es-r
swc-other
dc-ecology-r
dc-ecology-python
dc-genomics
dc-geopsatial
dc-socsci-r
dc-socsci-python
dc-other
lc

it would be nice if there was some validation (e.g., the swc-python curriculum tag could only be added if it was a SWC workshop).
These tags will change regularly (every ~6 months, mostly new ones will be added). Would having a regularly updating JSON feed (as mentioned above) be useful? would it be better to have an interface where Maneesha and Sher could create/update them?

@fmichonneau:
I can add an entry in Django's Admin interface allowing admins to add/edit curriculum tags whenever necessary. Additionally we can have "active" field for the tags, which, when set to False, would not allow to apply this tag to any workshop. This way we'd preserve "old" tags and still be able to work easily with newer tags.

That sounds perfect. Thanks @pbanaszkiewicz!

@fmichonneau can you please provide me with human-readable names for these curricula? It turns out we're going to use them in one other place, but it requires showing them to the user, so friendlier language is preferred. I matched some, but not all:

slug
name

swc-python
Software Carpentry (shell, git, Python)

swc-r
Software Carpentry (shell, git, R)

dc-ecology-python
Data Carpentry (Ecology with Python)

dc-ecology-r
Data Carpentry (Ecology with R)

dc-genomics
Data Carpentry (Genomics)

dc-geospatial
Data Carpentry (Geospatial)

dc-socsci-python
Data Carpentry (Social Sciences with Python)

dc-socsci-r
Data Carpentry (Social Sciences with R)

Coming back from leave, @pbanaszkiewicz do you still need this info?

@fmichonneau no, I used your list and one provided by @maneesha elsewhere and combined them together. Go to https://amy.software-carpentry.org/workshops/events/add/ and see "Curricula taught at the workshop" field for the results!

Great, thank you!


Build from source installation error

I have a problem when building from source when using the build_and_install_default_config.sh.
My system

Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Script output
build_and_install_warnings-2022-06-29-11-21-35.log
Please tell me if you need any further information,
Thank you for your help

The issue is here:
cd /data/aamorel/Eigen3ToPython/build && /usr/bin/cmake -E chdir /data/aamorel/Eigen3ToPython/build/python/RelWithDebInfo python -m pip install . --upgrade
/usr/bin/python: No module named pip

It seems that for some reason you do not have python's pip installed (python3 -m pip -V). This is surprising as the script normally tries to install it. Could you try:
sudo apt install python3-pip

Then make sure pip was properly installed and relaunch the ./build_and_install.sh script.

I think the problem is that I have both Python 2.7 and Python 3.8 installed.

python -m pip
/usr/bin/python: No module named pip

python3 -m pip -V
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

What would be the right way to tell the install to use python3 instead of python ? Can I specify Python's path ?
It way be the option PYTHON_FORCE_PYTHON3 but I wan't to be sure.
Thank you for your fast response

Thank you, installation was a success !


Price Filter Not Working

I installed the module in magento 2.2 version. I have issue with price filter. I have multiple checkboxes with
https://mydonain.com/women/womens.html?price=from-to
So not getting from and to values of selected checkbox for price. Any solution for this please? All the remaining filters working fine.

If you are using configurable products - you can change code below, like in quick fix way:
Plugin/Model/Adapter/Mysql/Filter/Preprocessor.php
Change this:
$statement = [ 						$this->getSqlStringByArray( 							[floatval($from)], 							'final_price', 							'>=' 						), 						$this->getSqlStringByArray( 							[floatval($to)], 							'final_price', 							'<=' 						) 					];
To that:
$statement = [ 						$this->getSqlStringByArray( 							[floatval($from)], 							'min_price', 							'>=' 						), 						$this->getSqlStringByArray( 							[floatval($to)], 							'min_price', 							'<=' 						) 					];


Use host-gw instead of vxlan

to reduce network overhead since vxlan is not needed when all nodes share the same L2 domain.

Thank you!


Update the default pandoc version to 1.13.1.

This picks up a change to the binaries we use so that they always include
templates, which was causing issues for some users.
Fixes #145.
PTAL @cboettig -- can you confirm that this fixes the issue you were seeing? (you should be able to just use /pandoc_update/instead of /master/ in your .travis.yml to test.)

@craigcitro @jjallaire awesome work, looks like that's working for me! (https://travis-ci.org/ropensci/rfishbase/builds/51128533)

@craigcitro Not sure what happened, but I moved the link back to master after you merged and now travis tells me it cannot find pandoc? https://travis-ci.org/ropensci/rfishbase#L1504

yeah, that's weird.
do you happen to use a linux machine locally? would you be willing to try pulling https://s3.amazonaws.com/rstudio-buildtools/pandoc-1.13.1.zip and seeing if the packaged pandoc works for you?

That works fine for me locally.  and looks like it is being set correctly in on travis, so, ... weird.

yeah, that's strange. are you using citeproc? (i'm just looking at the other half of the error in your log, and grasping at straws :smile:  ...)

nope, no citeproc there

i know what's going on here -- the paths within the zip file changed on us. i'll fix a little later tonight (once kids are asleep :grinning: )

scratch that -- i don't think a path changed, but i may still know what's going on.

OK, i think pandoc at some point got more particular about ensuring pandoc-citeproc was installed. i've tested that adding that seems to fix the issue with rfishbase: https://travis-ci.org/craigcitro/rfishbase

cool, yup, seems everything is working now
On Tue, Feb 17, 2015, 10:45 PM Craig Citro<EMAIL_ADDRESS>wrote:

OK, i think pandoc at some point got more particular about ensuring
pandoc-citeproc was installed. i've tested that adding that seems to fix
the issue with rfishbase: https://travis-ci.org/craigcitro/rfishbase
—
Reply to this email directly or view it on GitHub
https://github.com/craigcitro/r-travis/pull/146#issuecomment-74820674.


HTML5 Adaptive canvas scaling regression

Godot version
v4.0.beta9.official [e780dc332]
System information
Linux, Firefox 108.0.1
Issue description
When HTML5 canvas resize policy is set to adaptive and Display>Window>Stretch>Mode is either Viewport or Canvas_items, the exported HTML5 project scales wrong, at least on Firefox.
This same setup worked fine in godot 3.5.1, scaling the canvas to maximal possible size without distorting.
On 4.0 beta 9, the graphics scaling is wrong, while the mouse behaves as the graphics would have been scaled properly (mouse pointer is out of sync with the project mouse location)
Steps to reproduce
Create new project, add some items to 2D canvas, export HTML5 with the settings described above
Here's how the scaling looks like:
https://user-images.githubusercontent.com/98854/209177467-d027225a-fda3-416a-91aa-c06b02f4e506.mp4
Minimal reproduction project
canvasresize.zip

I was about to post a similar issue but not the same, they're probably related though.
When I was trying web build I saw that a basic button had a letter cut off, even though there's plenty of space on the button. For some reason adding whitespace or another letter fixes the problem sort of.
Later I found out that I can reproduce it on normal PC build by simply maximizing the screen. Going from maximized back to normal size also recovers the cut off letter.
After changing from canvas_items to viewport it fixed the problem. I am aware that canvas_items (new 2d mode) sacrifices accuracy for higher resolution but if there is enough space on screen that it doesn't use, it's a bug yes?

When I was trying web build I saw that a basic button had a letter cut off, even though there's plenty of space on the button. For some reason adding whitespace or another letter fixes the problem sort of.

This is an unrelated bug with font oversampling. As a workaround, you can keep using the canvas_items stretch mode but disable font oversampling in the advanced project settings.

I'm having this issue as well. Tested with v4.0.beta10.official [d0398f62f] in Firefox and it scales wrong (it looks as if somewhere in calculating the projection matrix, width and height get flipped). In Chromium however the scaling does work properly.

For Display>Window>Stretch>Mode set to Viewport, here's a workaround.

Set the canvas resize policy to project.
In the generated *.js file replace the updateSize function with:

 updateSize: function() {
  const isFullscreen = GodotDisplayScreen.isFullscreen();
  const width = GodotDisplayScreen.desired_size[0];
  const height = GodotDisplayScreen.desired_size[1];
  const canvas = GodotConfig.canvas;
  if (canvas.width !== width || canvas.height !== height) {
   canvas.width = width;
   canvas.height = height;
   GodotDisplayScreen._updateGL();
  }
  const scale = Math.min(window.innerWidth / width, window.innerHeight / height);
  const csl = `${Math.round((window.innerWidth - width*scale)/2)}px`;
  const cst = `${Math.round((window.innerHeight - height*scale)/2)}px`;
  const csw = `${Math.round(width*scale)}px`;
  const csh = `${Math.round(height*scale)}px`;
  if (canvas.style.width !== csw || canvas.style.height !== csh) {
   canvas.style.position = "absolute";
   canvas.style.imageRendering = "pixelated"; // Remove this if you want linear scaling.
   canvas.style.top = cst;
   canvas.style.left = csl;
   canvas.style.width = csw;
   canvas.style.height = csh;
   return 1;
  }
  return 0;
 }

Not sure what changed, but as of -RC3, the scaling seems to work correctly now in firefox.

I confirm that the MRP works fine with 4.0 RC 3.


Can I load the model using HuggingFace AutoModel ?

Hello,
Is it possible to load the UDify bert-based (udify-bert-tar-gz) model using AutoModel class of HuggingFace library ?
When downloading the model, the vocab.txt file was missing , is it the same as bert-multilingual-base ?
Thanks in advance

The model used in UDify should be bert-base-multilingual-cased, as seen here.

To load with AutoModel, I think there might need to be a few modifications made.


Bug: Subsegment ssm discarded due to Lambda worker still initializing

Expected Behaviour
The expected behavior would be to not receive this warning message
Current Behaviour

Receiving an intermittent warning, stating "Subsegment ssm discarded due to Lambda worker still initializing", followed by another warning stating "No subsegment to end." These appear to be raised by the powertools Parameters utility.
I am doing the parameter retrieval before the lambda handler (global scope) since this will not change very often, regardless of execution environment, as demonstrated below.

Code snippet
from aws_lambda_powertools.utilities import parameters
import boto3

config = Config(
   retries = {
      'max_attempts': 15,
      'mode': 'standard'
   }
)
client=boto3.client('rekognition', config=config)
model_arn=parameters.get_parameter('/RekCL/MODEL_ARN', max_age=300)

def lambda_handler(event, context):
  try:
        response = client.detect_custom_labels(
            ProjectVersionArn=model_arn,
            Image={'S3Object':{'Bucket':bucket,'Name':photo}})

 # etc...

Possible Solution
Please see this: https://github.com/aws/aws-xray-sdk-python/issues/331
I believe there is a check here, but I don't see anything in the powertools docs that says I need to have x-ray enabled.
Steps to Reproduce
retrieve a parameter in a lambda function, with global scope (before lambda handler)
AWS Lambda Powertools for Python version
latest
AWS Lambda function runtime
3.9
Packaging format used
Lambda Layers
Debugging logs
No response

Hi @94Sip thanka for flagging this - IIRC this is an issue in X-Ray SDK which hasn't been resolved yet (I'll use this as a basis for a repro).
In the meantime, you can safely add the get_parameter inside the handler, because only the first call will be made to SSM.
We keep that in-memory and it'll only fetch another call if Lambda spins up another container (concurrency), which is also true for a new cold start to happen.

A few more updates:
This lambda is being orchestrated by a Step Function that has x-ray tracing enabled. I have enabled x-ray on the lambda function AND added the appropriate policy, as described here: https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html
Still receiving the intermittent warning.

Hi @94Sip thanka for flagging this - IIRC this is an issue in X-Ray SDK which hasn't been resolved yet (I'll use this as a basis for a repro).
In the meantime, you can safely add the get_parameter inside the handler, because only the first call will be made to SSM.
We keep that in-memory and it'll only fetch another call if Lambda spins up another container (concurrency), which is also true for a new cold start to happen.

Thank you for this quick reply - moving the call to the handler appears to have resolved this warning being thrown.

Thank you, that helps to investigate it later.
From memory, this was an issue that the root segment wasn't available yet for the SDK to pick up at container initialisation (what technically is a cold start). Hence why it shouldn't happen after the handler is called.
What X-Ray SDK was trying was using a DummySegment that later would be converted to account for eventual consistency -- it's a tricky thing.
That said, in your case, get_parameter can be safely used inside the handler.

Not your use case but as FYI until our new parameter docs is finished.

It's also recommended for optimal cache invalidation for frequently updated parameters.
This is because we only fetch a new one on the next call, where the parameter expired, to not "eat" your Lambda resources with a background thread due to CPU slicing.

Did some investigation here and X-Ray team reverted their decision to fail fast IF a trace is still not available to attach an application subsegment yet. Instead, it logs the warning you see in your code to prevent crashing customers' function, hence why inside the Handler always works.
As this might be solved in the future by Lambda, or not due to eventual consistency, I'm going to close this issue as there isn't much we can do from our side. While we could try to do a double verification and hold the subsegment data for a random time, it could lead to a non-deterministic behaviour.
Thank you and let us know otherwise!


It's somewhat suggestive.


read_qc subworkflow

Adding subworkflow that performs read QC using two modules:

fastp (imported from nf-core, modified slightly to remove parameters we don't need)
seqtk/seq (imported from nf-core)

General question. If you took a module from nf-core should it be under nf-core folder rather than ebi-metagenomics?

General question. If you took a module from nf-core should it be under nf-core folder rather than ebi-metagenomics?

Good question... I think from what @mberacochea told me before you can't have modules from more than one 'nf-core repo' for a custom modules repo, so I think the nf-core tools would break if we tried. For example trying to install nf-core/fastp:
nf-core modules install fastp

                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 2.10.dev0 - https://nf-co.re

ERROR    You cannot install a fastp in a clone of nf-core/modules

And I think some of the nf-core tools look at org_path in .nf-core.yml to know where to look for modules, and in this repo we have it set to ebi-metagenomics, so if we manually created an nf-core directory I don't think it would look there anyway

@chrisAta OK, I see.
In my vision we should definetely distinguish nf-core taken tools and our self-written. We need to mark it somehow ir create a symlink maybe?
I'm just thinking it can be a case we bump into very BAD nf-core written module and we want to re-create it completely from our side (less likly but who knows...) what we should do?
Having nf-core subfolder can resolve it
Those are just are my thoughts for future. No need to do anything now :)

@chrisAta OK, I see. In my vision we should definetely distinguish nf-core taken tools and our self-written. We need to mark it somehow or create a symlink maybe? I'm just thinking it can be a case we bump into very BAD nf-core written module and we want to re-create it completely from our side (less likly but who knows...) what we should do? Having nf-core subfolder can resolve it
Those are just are my thoughts for future. No need to do anything now :)

Yes I completely agree - would be nice to have a more obvious and defined way for making it clear we didn't build a module from scratch 😄 Something to discuss in near future

Great stuff @chrisAta .. I've added some minor comments.

All done! Thanks for the review 😄

Thank you Chris!


Provide presubmit test number automatically

Currently, the engine-to-framework roller gets the test number manually from a Skia repo config file, and makes sure that at least that number of tests would pass before merging a commit.
That's because the GitHub API could show all tests as green and completed while actually some tests still didn't get started by Cirrus.
Currently, that number is a little hard to maintain. It would be nicer to have a mechanism to easily update that number within the flutter/flutter repo.
An easy way would be to simply add a text file with that number in it, and let the Skia auto-roller read that file.
A better (but probably more involved) way is to have a script to parse .cirrus.yml and generate that number automatically. Then Skia would call that script to get the number. With that, people don't have to manually update that number when a test is newly added to Cirrus.

@gspencergoog @dnfield @digiter : how easy and reliable do you think that we can write a script to parse .cirrus.yml and output the number of tests?

Could you query the Cirrus web API and ask it how many tests there are total?
E.g. whatever the API is that generates this page must have a list of tests:
https://cirrus-ci.com/build/flutter/flutter/98bc378d6f6b767fd9609ebc5a5ad9aefc3918de

@gspencergoog : those tests could have a latency before showing up, and that's why we added the test number check initially.

I calculated our usage via Cirrus GraphQL API (https://cirrus-ci.org/api/) in the past. It can fetch the status of tests on a latest commit, but sometime unreliable due to network / server error.

Also, isn't it kind of fragile to be checking GitHub for a minimum number of tests instead of specific tests, since some of GitHub checks could be failing (like the "CLA" or "codecov" status check) and prevent the roller from running, or let it submit when the "codecov" is green but another code test is failing?

FWIW, in response to the original question, I think it is pretty fragile to be parsing the cirrus.yaml file:  Every time Cirrus adds a new feature, or maybe when we restructure the file, we'd have to update the parsing.

The end goal is to make sure that the auto-roller doesn't merge the commit when Cirrus still has a test that didn't start yet. I'm happy to accept different proposals if that could be done without a minimum passing test number check.

It would probably be best if the autoroller could query the GitHub API to make sure all status/checks are green and completed.
Parsing an individual provider's status (or adding queries for individual provider's API endpoints) is likely to break/change over time.

@dnfield : the roller does query GitHub API to make sure all status/checks are green and completed. However, GitHub API could show you all tests as green and completed while actually some tests still didn't get started by Cirrus.

@digiter : do you have an example of using GraphQL to query the number of Cirrus tests given a commit?

We can simplify this query, the length of the tasks list is the number of tasks executed given a commit.
  cirrusQuery = `
    query ($cursor: String!, $first: Int, $owner: String!, $name: String!) {
      githubRepository(owner: $owner, name: $name) {
        builds(after:$cursor, first:$first) { # Fetch first X of builds after cursor
          pageInfo {
            startCursor
            endCursor
            hasPreviousPage
            hasNextPage
          }
          edges {
            cursor
            node {
              id
              branch
              changeIdInRepo
              changeMessageTitle
              pullRequest
              changeTimestamp
              buildCreatedTimestamp
              status
              tasks {
                id
                buildId
                repositoryId
                name
                status # e.g. EXECUTING, CREATED, COMPLETED
                statusTimestamp
                creationTimestamp
                scheduledTimestamp
                executingTimestamp
                finalStatusTimestamp
                durationInSeconds
                labels
                uniqueLabels
                useComputeCredits
                transaction {
                  timestamp
                  microCreditsAmount
                  creditsAmount
                }
              }
            }
          }
        }
      }
    }
  `

As far as I can tell querying Cirrus alone is insufficient since we have other sources of tasks (e.g. clabot, WIP bot, flutter-build, eventually LUCI, TAP...).
https://github.com/flutter/flutter/pull/43681 is a WIP in providing a script that computes this number, FWIW.

Additionally, I've verified that Cirrus GraphQL API also won't return a full list of tasks initially, hence it doesn't fix our problem that Github API won't always tell us the correct number of tests.
Specifically, I used
    query($owner: String!, $name: String!, $SHA: String!) {
      searchBuilds(repositoryOwner: $owner, repositoryName: $name, SHA: $SHA) {
        id
        branch
        changeMessageTitle
        tasks {
          id
          name
        }
      }
    }

to query my test commit https://github.com/flutter/flutter/commit/4cc8893682b5611cbab85800d5b030ee53d5c300 . It initially returned 32 tasks. A while later, it returned 48 tasks.
BTW, the final number of tests that Github API should return is 99. It's 2*48 + 3: each Cirrus task is counted twice, and there are 3 non-Cirrus tests (CLA, WIP, flutter-build). So far, I found Ian's solution https://github.com/flutter/flutter/pull/43681 to be the most reliable one.
@rmistry: can we check the Github API's test number after each merge, and send a warning email to the engine rotation if such number mismatches the one that's either hard-coded or provided by a script? That way we can quickly know that something is missing.

borenet@ and I looked into the code and emailing at that time is difficult the way things are structured. But I could put a comment in the PR saying that this was merged with different num of checks than what was returned by the script. And maybe mention (@) the sheriff.
Somewhat related, in the autoroller we have pretty much implemented a github commit-queue now, this is messy and makes the autoroller code much more complicated than it should be. Does anybody know if there is a github app or a way within cirrus (or something else) than tells it to automatically merge a PR once there is approval and all checks pass? if we could activate that feature selectively for roll PRs then it would make the autoroller much more saner.
Also, I remember hearing something about eventually moving these bots to swarming (I have been remembering this wrong), any updates on that?

But I could put a comment in the PR saying that this was merged with different num of checks than what was returned by the script. And maybe mention (@) the sheriff.

I take this back, I cannot find a clean way of doing this either because of the messy structure I mentioned in the previous comment.
Easiest option is to make the autoroller log an error and then I'll add an entry for what the Skia trooper should do when that happens (contact the flutter rotation sheriff).

That also sounds good to me as it shouldn't happen very frequently.

@rmistry, for earlier questions:

https://github.com/palantir/bulldozer seems to be a promising Github app for auto-merge. To use it, it seems that we need to list all test/check names in a yaml. @tvolkert @Hixie : what's your take on using this app? I desperately needed it so I don't need to monitor flutter-build all day.

@dnfield is trying to migrate our tests to LUCI. I'm not aware of any swarm work though.

@rmistry, for earlier questions:

https://github.com/palantir/bulldozer seems to be a promising Github app for auto-merge. To use it, it seems that we need to list all test/check names in a yaml. @tvolkert @Hixie : what's your take on using this app? I desperately needed it so I don't need to monitor flutter-build all day.

If flutter.git and engine.git started using this app, it would greatly simplify the autoroller code and make the whole rolling mechanism much more sane.

@dnfield is trying to migrate our tests to LUCI. I'm not aware of any swarm work though.

We can just implement our own, it wouldn't be difficult. We already have code to go through PRs and so on, we just need to add additional checks for how to land PRs. (We cannot use third party code that has commit access, for security reasons.)

We could just have a cron job that runs, looks for pull requests that

have the label
are approved
have passed all status checks

and then merges.  We have an account that has the right access.

Created https://github.com/flutter/flutter/issues/44007 to track the auto-merge separately. @dnfield @Hixie @goderbauer : shall we form a work force to make this happen ASAP in Q4? Personally I think the time it can save me from checking flutter-build in Q4 would be far greater than the time to be invested to make it happen. CC @GaryQian , @jonahwilliams , @gspencergoog who I think might also be checking flutter-build a lot and would like to have an auto-merge option.

For Cirrus, how about adding a "catch all" task that depends on all other tasks? So that when the "catch all" task finishes, we know all the tasks have executed.

@digiter : that sounds good to me. What test are you going to run in that "catch all" task? Checking the number of tests that have passed?

It's a no-op task, as it depends on all other tasks, it will be executed at the end of everything.

Keep in mind that task scheduling has been observed to take on the order of minutes, even for simple tasks

I think the concern isn't so much about task scheduling as the slight delay between opening a pull request and Cirrus (or any CI provider) updating the status of that PR.  There's a window there wher esomething trying to do a status check on a PR will see it as all green, when in fact it has not even started CI.

Flutter-build for example only updates once every minute or two on a cron job.

This is mostly moot now right? I'm going to close it.


GPL2 License issue

Hi
There is a GPL2 licensing issue on<EMAIL_ADDRESS>which is the indirect dependency as below
<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>here is the link to license page

The license also specifies that BSD is allowed, which would fall under appropriate licensing requirements for this package. Marking this issue as closed, but feel free to ask any other question.
cc @rafikhan


DenseNet support

What changes i need to make in order to add dense net support ? I get the idea behinf nn_base method returning the feature maps. But why the classification layers are different for different base networks ?

For resnet50, the output channel is 512 so I used a different
classification layers. You should change the classification layer according
to the output Chanel's of your Densenet.
Good luck!
2019年10月4日(金) 2:29 M.Yousuf<EMAIL_ADDRESS>
What changes i need to make in order to add dense net support ? I get the
idea behinf nn_base method returning the feature maps. But why the
classification layers are different for different base networks ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kentaroy47/frcnn-from-scratch-with-keras/issues/35?email_source=notifications&email_token=AJOG4JIX6TMMMKBTY753ASTQMYTZHA5CNFSM4I5GALC2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HPO57MQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJOG4JK2CB2DTBSXP3CBMETQMYTZHANCNFSM4I5GALCQ
.


Add zazu-github to the plugin page

zazu-github is a search for GitHub repositories with github.com.

What's the biggest difference between this and the github repos plugin? Just by checking it looks like this plugin doesn't require an api key, right?

@blainesch Right, this plugin does not require an authentication.
Note:

For unauthenticated requests, the rate limit allows you to make up to 10 requests per minute.

Thank you for the contribution

@blainesch You are welcome!


Permission Denied error when running ansible-galaxy collection install command

Bug Report

What did you do?
I ran the following command on the vm I am installing the tool on:
ansible-galaxy collection install git@github.com:IBM/operator-collection-sdk.git#ibm/operator_collection_sdk,v0.x -f
What did you expect to see?
I expected for the install to complete successfully
What did you see instead? Under which circumstances?
it returned the following error:
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Collection Version
$ ansible-galaxy collection verify ibm.operator_collection_sdk
ibm.operator_collection_sdk:0.2.0
Possible Solution

Additional context

This is due to the default install command using the SSH git command instead of HTTPS. If a user hasn't uploaded a public key to their Github account then the following error occurs. This has now been resolved by updating the install command to use HTTPS https://github.com/IBM/operator-collection-sdk/commit/d66875ff427752943d61ec14eb154f0298c30f38
ansible-galaxy collection install git+https://github.com/IBM/operator-collection-sdk.git#ibm/operator_collection_sdk -f


feat(autocomplete): move harness out of experimental

CARETAKER NOTE: merge-safe, but may require BUILD file updates in g3

comments addressed


Pass BUILDKITE_BRANCH env variable to ensure correct debian version

In some cases when building debian packages on buildkite agent below command return HEAD instead of actual branch name (like develop etc):
export GITBRANCH=$(git rev-parse --symbolic-full-name --abbrev-ref HEAD |  sed 's!/!-!g; s!_!-!g; s!#!-!g' )

It is still under investigation why since at first look it depends on agent state (we couldn't reproduce it locally nor on agent after failure detection)
Another observation is that it could be unstable almost from long time ago, since in buildkite/scripts/export-git-env-vars.sh file we set GITBRANCH to be equal to BUILDKITE_BRANCH (if exists) after we calculate GITBRANCH.

!ci-build-me

!ci-build-me

@dkijania in a sperate stream of work I found that buildkite checks out only the commit and may not set the branch at all
And git name-rev finds some branch that contains the commit, which could be ~any branch.
I support this change.

@dkijania why not targeted at compatible?

!ci-build-me

@dkijania why not targeted at compatible?

This issue is visible on develop, so I want to be sure that it is fixed before porting to compatible


Add in the first cut of the Jazzy complete changelog.

This was generated using the script at
https://github.com/clalancette/ros_changelog_from_pkgs with the following arguments:
$ python3 walk-packages-for-changelog.py ~/jazzy_ws/src 2023-04-25 "Jazzy Jalisco" Jazzy-Jalisco-Complete-Changelog.rst
@marcoag FYI

i did not check the changelog file, release note change lgtm.

Heh, yeah, it is large.  I just spot-check it myself when I generate it.  The good news is that we have time to fix things if they are broken.


Failed to import settings

I got this message:
No Sublime settings file found at the default location: C:\Users\aea\AppData\Roaming\Sublime Text 3\Preferences.sublime-settings
How can i solve it? I have no Sublime Text 3
How can I use this extension? How can I import settings? What should i do to make in work?

Hi - if you don't have Sublime Text 3 installed then you can safely ignore this.


Resolving deprecation warning

TASK [franklinkim.logrotate : Configuring logrotate] ***************************
[DEPRECATION WARNING]: Using bare variables is deprecated. Update your playbooks so that the environment value uses the full variable syntax ('{{logrotate_scripts}}').
This feature
 will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

Future-proofing the role against the upcoming deprecation of bare variable use playbooks.

THX


[RFC] Beyond hyperparameter optimization

We should make clear that are not yet another HPO library.
I suggest we should start documenting examples or areas where black-box optimization is applied.

Good idea. From the bit of searching for public datasets/objectives I didn't find much. Thinking out loud some ideas for areas where we could look for example problems/datasets or that we could take as basis for a problem:

aerodynamics (finding best configuration of wings/cars/etc)
food recipes
drug design
compiler flags
configuring simulators (we might be able to get a dataset here soon)
bin packing solutions??

More ideas?

settings for a robot/plane/quadcopter controller

We can also look for functions that are really expensive to evaluate ;)

SAT solvers have lots of parameters and are used by a lot of people. Found this by reading SMAC slides.

Should we use this issue to try and find a concrete application to help drive the development?


Cleanup package json

There's some accumulated cruft inside package.json.

we don't need a bunch of custom publish scripts, only pack:publish
which will be invoked via github action.

We don't need to test types using ts-node anymore since we're
instantiating the TypeScript compiler directly.

[x] In order to avoid conflicts, please merge #10 first.

This PR is available to use:
npm install<EMAIL_ADDRESS>
You can view the NPM package here.

  Generated by :no_entry_sign: dangerJS against 2aaeac5b7b9a8e3592d1a739cd1f347f79b478ee


Fix autogen'ed headers by bumping build-common to ^0.22

Need to pick up 'build-common' to pre-release ^0.22 to prevent header text from reverting to previous prose when 'packageVersion.ts' is regenerated.

Thanks, @vladsud !


Feature request: autoclose braces

What exactly do you mean by autoclose braces? Is this perhaps covered by #90?

This should definitely be an option, but the way I think of it is that if typing a "(" would lead to braces being unbalanced afterwards, it should insert "()" instead and place my cursor in the middle. Similar situation for ")", except if typing it would lead to braces becoming unbalanced and there's a ")" right of my cursor it should just skip over it and not insert anything.


Relative path

var nodes = xpath.select("//measure/note/pitch", doc)

How do I reuse the nodes variable to select /pitch/step and  /pitch/octave instead of typing out full path?

I don't think the Node.js wrapper for this library currently supports using nodes (which is an array of nodes) as a starting point for a subsequent query, but you can perform a queries using each of those nodes as a starting point:
var nodes = xpath.select("//measure/note/pitch", doc);
for (var i = 0; i < nodes.length; i += 1) {
    var step = xpath.select1('step', nodes[i]);
    var octave = xpath.select1('octave', nodes[i]);
}

I'm pretty sure that in your case, looping through the nodes and evaluating relative paths on each node (as shown above) is what you'd want to do anyway. Please let me know if that's not the case.


F7 shows no targets names

F7 shows no targets names, it just shows "Custom 1", "Custom 2", ...
and by default (when no target is selected) it can't pick default target ...
config:
targets:
  - install:
    cmd: cabal
    args:
     - install
     - --force-reinstall
    name: cabal install
  - test:
    cmd: shake
    args:
      - -f
    name: test

That's because you're defining an array. Try this:
targets:
  install:
    cmd: cabal
    args:
     - install
     - --force-reinstall
    name: cabal install
  test:
    cmd: shake
    args:
      - -f
    name: test

@noseglid works, thanks


Remove release workflow

Summary

This removes the unused release workflow that would automatically deploy the release to npm and github poackages.
We will later include it when there is a) consensus whetjher we want to automate releases or not and b) a working implementation that runs after all checks have completed.
Note: this does not affect the unit tests and integration test as these were defined in own workflow files.
Linked issue(s)

#36
Involved parts of the project

CI
Added tests?

OAuth2 standard

Reproduction

Sorry @Uzlopak can you re-approve, forgot to set development as target branch :-/

Erledigt.


task and checkbo

Gitea version (or commit ref): 1.13.0+dev
Git version: https://try.gitea.io
Operating system: https://try.gitea.io
Database (use [x]): https://try.gitea.io

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[X] Yes (provide example URL) https://try.gitea.io/Maieul/test/issues/3
[ ] No
[ ] Not relevant

Log gist:

Description
Weshould be able to check the box in the task list without editing the text of the issue, but directly by clicking on it, as for gitlab/github.
Screenshots
https://try.gitea.io/Maieul/test/issues/3

closing as dupe of #7097


Fix links on Documentation Style Guide page

Follow up on #35375
Update page Documentation Style Guide

This change might not actually be required. Reference comment

Per comments on the issue, this PR is not needed. Hence closing it.
/close


Not Working As Expected

An error occurred while calling song_ripper.
DEBUG: Going to call system(""C:\Users\gojigoodra\Documents\GBAMR\bin\sound_font_ripper" "C:\Users\gojigoodra\Documents\GBAMR\bin\KNIDL.gba" "C:\Users\gojigoodra\Documents\GBAMR\bin./KNIDL.sf2" -s15768 -mv15 0x60a418 0x60acb8 0x60b2b8")
GBA ROM sound font ripper (c) 2012 Bregalad
Warning : Illegal loop point detected
Dump complete, now outputting SF2 data...
Done!
Soundfont is output, but not midis

Also if I put the exe files and bin files into a single directory, gba_mus_ripper does not detect the bin files

My apologies for not noticing this until now. I didn't realize until now that forks of existing repositories are not set to "watched" the moment they are made. I have just clicked the "watch" button on my fork, so I should get emails now.
I believe I have fixed this issue with commit bf365b2. I have also just published a new 1.3.1 release with this fix.
Thank you very much for reporting this issue.


Call by reference vs Call by value

Hey,
i noticed you guys were trying to inform your readers about the difference between call by value and call by reference and linked to this article. However from my understanding the information conveyed in the article is not correct. The article claims that

One of the differences between the two is that Primitive Data Types are passed By Value and Objects are passed By Reference.

In Javascript (at least from my understanding) everything is passed by value.
You could also describe it as passed by sharing but Objects in javascript are certainly not passed by reference. Perhaps a better description of the topic can be found here

Objects and Arrays are passed by reference. As in, passing in an object or an array in a function will alter the reference object as well. But if you pass in an integer and do something with it inside the function, it won't get altered outside.
`// Init value
let i = 10;
console.log("Init value", i);
// Changing the value of i inside the function
function changeVal(i){
i = 20;
console.log("Inside function", i);
}
// Invoke function, passing in i as value
changeVal(i);
// Printing the value of i after the function.
// i is still equal to 10.
console.log("After function call", i);
// =========================================
// Create a new obj, prop name = "John".
let obj = {name : "John"};
console.log("Init value", obj.name);
// Changing the name of the property inside the function
function changeName(obj){
obj.name = "Brad";
console.log("Inside function", obj.name);
}
// Invoking the function with the object.
changeName(obj);
// Printing name prop after the function.
// The name is now "Brad".
console.log("After function call", obj.name);`

I have to disagree. In a pass by reference language the folling code would alter the original object:
let foo= new Object();
foo.name = "foo";

function changeObj(obj){
obj= new Object();
obj.name = "bar";
}

changeObj(foo);
console.log(foo.name);
//foo

However in JS this is not the case because dog is merely a variable that holds a value (the reference) and is not the actual reference itself. Its just confusing that javascript has called them references but that doesnt change the underlying principle here. When you do a pass by reference in c++ foo would hold the new Object here.

That is correct.
It's passed as a copy of the reference, so you could still alter the original object within a function and it would be altered outside of it.
But if you re-assign it you are just changing the copy of the reference, so then it won't be available outside of the function.
By changing it inside the function you are just telling the obj to point at a new reference and then set that name to "bar", however that scope dies and so does that new reference point.
In short, I agree. It's not really passed by reference, it's passed as a copy of the reference.

saying

It's passed as a copy of the reference

is very misleading. Again: no copy is made at any point. the only thing that happens is when you write the dot operator (.) javascript's interpreter will perform a get - more information here and here . Then you can change whatever that object contains using set.

it is passed by value every time. No exception and no copies. The only thing that is confusing is that the value that is passed is a reference itself. However pass by reference means something very different.

The correct term is "call by sharing" or "pass by sharing."
As has been said, while pass-by-sharing uses pass-by-value technically, the value is a reference. It is sort of a mix of pass-by-value and pass-by-reference. It isn't as helpful to call it pass-by-value as it is to call it pass-by-reference because it behaves like the latter, despite technically being a form the former. But because it isn't just pass-by-value, it is unhelpful to call it that. "Pass-by-sharing" is the correct term and tells the full story.

The correct term is "call by sharing" or "pass by sharing."

Perfect! That was the term I was looking for, thanks for sorting it out :)

indeed pass by sharing is the correct term as mentioned in my original comment.


Update libdef files to resolve remaining Flow complaints

We aren't seeing this in the individual package as the root flow-typed is missing some libdef files (and therefore goes untyped).  If you run yarn flow within this package, we see the following failures:
$ flow check
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/browser.js:49:30

Cannot assign NavLinkUntyped to NavLink because in property to:
 • Either undefined [1] is incompatible with string [2].
 • Or undefined [1] is incompatible with LocationShape [3].

        src/browser.js
        46│ const HashRouter: HashRouterType = HashRouterUntyped;
        47│ const Link: LinkType = LinkUntyped;
        48│ const MemoryRouter: MemoryRouterType = MemoryRouterUntyped;
        49│ const NavLink: NavLinkType = NavLinkUntyped;
        50│ const Prompt: PromptType = PromptUntyped;
        51│ const StaticRouter: StaticRouterType = StaticRouterUntyped;
        52│ const Switch: SwitchType = SwitchUntyped;

        flow-typed/npm/react-router-dom_v4.x.x.js
 [2][3] 29│     to: string | LocationShape,

        src/types.js
    [1] 52│   to?: string | LocationShapeType,

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/browser.js:54:19

Cannot use withRouterType [1] with fewer than 2 type arguments.

     51│ const StaticRouter: StaticRouterType = StaticRouterUntyped;
     52│ const Switch: SwitchType = SwitchUntyped;
     53│ const matchPath: matchPathType = matchPathUntyped;
 [1] 54│ const withRouter: withRouterType = withRouterUntyped;
     55│
     56│ export {
     57│   BrowserRouter,

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/modules/Route.js:15:37

Cannot assign ReactRouterRouteUntyped to ReactRouterRoute because:
 • function type [1] is incompatible with string [2] in the first argument of property history.block of the first
   argument of property render.
 • boolean [3] is incompatible with null or undefined [4] in the return value of the first argument of property
   history.block of the first argument of property render.
 • boolean [3] is incompatible with string [5] in the return value of the first argument of property history.block of
   the first argument of property render.
 • undefined [6] is incompatible with function type [7] in the return value of property history.block of the first
   argument of property render.
 • function type [1] is incompatible with string [2] in the first argument of property history.block of property
   children.
 • boolean [3] is incompatible with string [5] in the return value of property children of the first argument of
   property history.block.
 • boolean [3] is incompatible with string [5] in the return value of the first argument of property history.block of
   the first argument of property render.

        src/modules/Route.js
        12│
        13│ import type {ContextRouterType, RouteType} from '../types.js';
        14│
        15│ const ReactRouterRoute: RouteType = ReactRouterRouteUntyped;
        16│
        17│ const isEmptyChildren = (children: React.Node) =>
        18│   React.Children.count(children) === 0;

        flow-typed/npm/react-router-dom_v4.x.x.js
    [2] 73│       callback: | string // eslint-disable-line
 [4][5] 74│         | ((location: Location, action: HistoryAction) => ?string)
    [7] 75│     ): () => void,

        src/types.js
 [1][3] 80│     callback: (location: LocationType, action: HistoryActionType) => boolean
    [6] 81│   ): void,

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/plugin.js:88:11

Cannot create Router element because:
 • inexact object type [1] is incompatible with exact object type [2] in property Provider.
 • function type [3] is incompatible with string [4] in the first argument of property Provider.history.block.
 • boolean [5] is incompatible with null or undefined [6] in the return value of the first argument of property
   Provider.history.block.
 • boolean [5] is incompatible with string [7] in the return value of the first argument of property
   Provider.history.block.
 • undefined [8] is incompatible with function type [9] in the return value of property Provider.history.block.
 • boolean [5] is incompatible with string [7] in the return value of the first argument of property block of property
   Provider.history.

        src/plugin.js
         85│         const history = createServerHistory(prefix, context, prefix + ctx.url);
         86│         myAPI.history = history;
         87│         ctx.element = (
         88│           <Router
         89│             history={history}
         90│             Provider={Provider}
         91│             onRoute={d => {
         92│               pageData = d;
         93│             }}
         94│             basename={prefix}
         95│             context={context}
         96│           >
         97│             {ctx.element}
         98│           </Router>
         99│         );
        100│         return next().then(() => {
        101│           ctx.template.body.push(

        flow-typed/npm/react-router-dom_v4.x.x.js
    [4]  73│       callback: | string // eslint-disable-line
 [6][7]  74│         | ((location: Location, action: HistoryAction) => ?string)
    [9]  75│     ): () => void,
           :
    [2] 126│   declare export var Router: React$ComponentType<{|
        127│     history: RouterHistory,
        128│     children?: React$Node,
        129│   |}>;

        src/types.js
 [3][5]  80│     callback: (location: LocationType, action: HistoryActionType) => boolean
    [8]  81│   ): void,
           :
    [1] 132│ export type RouterType = React.ComponentType<{
        133│   history: RouterHistoryType,
        134│   basename?: string,
        135│   children?: React.Node,
        136│ }>;

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/plugin.js:152:11

Cannot create Router element because:
 • inexact object type [1] is incompatible with exact object type [2] in property Provider.
 • function type [3] is incompatible with string [4] in the first argument of property Provider.history.block.
 • boolean [5] is incompatible with null or undefined [6] in the return value of the first argument of property
   Provider.history.block.
 • boolean [5] is incompatible with string [7] in the return value of the first argument of property
   Provider.history.block.
 • undefined [8] is incompatible with function type [9] in the return value of property Provider.history.block.
 • boolean [5] is incompatible with string [7] in the return value of the first argument of property block of property
   Provider.history.

        src/plugin.js
        149│         }
        150│         myAPI.history = browserHistory;
        151│         ctx.element = (
        152│           <Router
        153│             history={browserHistory}
        154│             Provider={Provider}
        155│             basename={ctx.prefix}
        156│             onRoute={payload => {
        157│               pageData = payload;
        158│               emitter && emitter.emit('pageview:browser', payload);
        159│             }}
        160│           >
        161│             {ctx.element}
        162│           </Router>
        163│         );
        164│         return next();
        165│       }

        flow-typed/npm/react-router-dom_v4.x.x.js
    [4]  73│       callback: | string // eslint-disable-line
 [6][7]  74│         | ((location: Location, action: HistoryAction) => ?string)
    [9]  75│     ): () => void,
           :
    [2] 126│   declare export var Router: React$ComponentType<{|
        127│     history: RouterHistory,
        128│     children?: React$Node,
        129│   |}>;

        src/types.js
 [3][5]  80│     callback: (location: LocationType, action: HistoryActionType) => boolean
    [8]  81│   ): void,
           :
    [1] 132│ export type RouterType = React.ComponentType<{
        133│   history: RouterHistoryType,
        134│   basename?: string,
        135│   children?: React.Node,
        136│ }>;

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/server.js:48:30

Cannot assign NavLinkUntyped to NavLink because in property to:
 • Either undefined [1] is incompatible with string [2].
 • Or undefined [1] is incompatible with LocationShape [3].

        src/server.js
        45│ const HashRouter: HashRouterType = HashRouterUntyped;
        46│ const Link: LinkType = LinkUntyped;
        47│ const MemoryRouter: MemoryRouterType = MemoryRouterUntyped;
        48│ const NavLink: NavLinkType = NavLinkUntyped;
        49│ const Prompt: PromptType = PromptUntyped;
        50│ const Switch: SwitchType = SwitchUntyped;
        51│ const matchPath: matchPathType = matchPathUntyped;

        flow-typed/npm/react-router-dom_v4.x.x.js
 [2][3] 29│     to: string | LocationShape,

        src/types.js
    [1] 52│   to?: string | LocationShapeType,

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/server.js:52:19

Cannot use withRouterType [1] with fewer than 2 type arguments.

     49│ const Prompt: PromptType = PromptUntyped;
     50│ const Switch: SwitchType = SwitchUntyped;
     51│ const matchPath: matchPathType = matchPathUntyped;
 [1] 52│ const withRouter: withRouterType = withRouterUntyped;
     53│
     54│ export {
     55│   BrowserRouter,

Found 23 errors

If we only run flow at the root, how do we prevent per-package issues from passing through?

Running flow check from root appears to miss out on the libdef files used in specific packages' flow-typed/ directories.  This leads to a lot more uncovered code and can miss catching and surfacing issues.
It's worth a little more exploration, but we can either have the root config point to every packages' libdefs, or have all libdef files like in the root flow-typed/ directory only and have packages point to that.


fix(urlMatcherFactory): fix configuring a parameter type by name in a…

… params block
closes #2294

This looks :+1: to me, and should translate 1:1 onto the params branch.


Belindas-Closet-nestjs_3_Test-CI-pr-workflow_01

Testing ci workflow for new pull request

@Robel-003 How should I be testing this?

@Robel-003 How should I be testing this?

@Robel-003 How should I be testing this?

@CourtneyHoppus to test this, in your IDE hop into this branch. Make a comment, commit the change and push the change up to GitHub.
It'll take a minute for the workflow to finish and you can also see it running here

@Robel-003 looks like I also have to open a PR on the new branch I had to create to push the change to origin.

Didn't notice that the change to the yaml was on this or I would've approved sooner!


Update README for marketplace listing

Hi there thanks for this, it's working!
Please consider this PR, it is updating the README so your marketplace listing has the right action and version in it.  And the badges too.
I think it should show up in the Marketplace the next time the action is published.

Nice one thanks.  You should be able to push to people's branch, but Github doesn't make it obvious how and the commands aren't intuitive. I did a write up of it, if you ever want to try it in the future:  https://code.mendhak.com/update-fork-pull-request/
That way you shouldn't need to open up your repo (and forks are free).
But if you still want to let people push directly, from what I've seen, the best you can do is invite Collaborators. (I think)
I'd be surprised if Github had a way to allow anyone to push to a repo, I think Github considers it a security risk actually, because people take advantage of Github Actions to mine crypto or do other kinds of attacks.  That's why in this example when I did my PR you probably had to allow the actions to run.


[BUG] [Funimation/Crunchy] dlsubs "en" option missing causing Invalid Argument errors

** Main info: **
Script version: Multi Downloader NX 2.0.7 Commit: 667f02fae25db3dd10454e3901562bfe8b62289e
Service: Funi & Crunchy (Argument Belongs to Crunchy, triggers on any service though due to config file)
Show ID: N/A
Episode ID: N/A
Command used: aniDL --service crunchy --dlsubs en

Console output:
Invalid values:
  Argument: dlsubs, Given: "en", Choices: "all", "none", "es-419", "es", "pt-BR", "fr", "de", "ar", "it", "ru", "tr", "ja", "zh"

** Additional Info: **

What happened to "en" English support for subs?
I started getting this error after some recent updates. this initially triggered because I always had this in my config

also, no streams are being detected for any shows on Funimation...
aniDL --service funi -s 2831743 -e 9
aniDL --service funi -s 1311428 -e 21
Show ID: 2831743, EP 9 (Deep Insanity: The Lost Child)
Show ID: 1311428, EP 21 (Mushoku Tensei: Jobless Reincarnation)

Says track not selected... & its not showing any available streams.

Alright so...
As you might have noticed, I have merged the command line arguments for subs and dubs for both funi and crunchy into one per category. Track not selected just means that you haven't selected the Japanese audio. Please refer to the help for the new options for subs and dubs.
As to where the en sub went - idfk I will take a look into it tomorrow

I see dubLanguage which used to be crunchy config only is affect funi, shower this is not shown in funi help page..

Should be tho...

ya i saw its in help page...
to DL subs only now such a long command though aniDL --service funi -s 2831743 -e 9 --dubLang jpn --novids --noaudio --dlsubs all "all" still works just cant specify "en" for English only :(

I plan to auto create the CLI defaults file when the programm is build

For now, the newest commit is fixing the English problem

@izu-co as of commit: c89cea218c3fe00b64429b6ab17d85e57bf745f0 this is broken again
i have dlSubs: en set in config, i tried to set "none" "jp" etc and within the script, it just doesn't recognise it, it keeps saying the default is all even though its not

Will look into it

I just looked into it @XxUnkn0wnxX, and I've changed dlSubs to dlsubs. Since the newest update, all config option are exactly the same as if you would pass it to args. So since it would be --dlsubs it is also now dlsubs: [number] in the config.
As for the missing partsize, this has been added with 05d65d3d540b6c439184676598f77c817e0bc62f.


Several function calls are not checked for returns / Sequence lengths are not checked

Bug report

Several function calls are not checked for returns: see here https://github.com/ros2/rmw_connext/search?utf8=✓&q=return_loan&type=

Sequence lengths are not checked before accessed: https://github.com/ros2/rmw_connext/search?utf8=✓&q=DDS_SampleInfo+%26+sample_info+%3D+sample_infos[0]%3B&type=

I am running out of time to fix now but can do next month if noone else comes to it.

If someone comes to fix this, here would be another fix to be made. Return value of type support getter is not checked and callback pointer is not checked too.

https://github.com/ros2/rmw_connext/blob/master/rosidl_typesupport_connext_c/resource/msg__type_support_c.cpp.em#L171
https://github.com/ros2/rmw_connext/blob/master/rosidl_typesupport_connext_c/resource/msg__type_support_c.cpp.em#L389
https://github.com/ros2/rmw_connext/blob/master/rosidl_typesupport_connext_c/resource/msg__type_support_c.cpp.em#L411

The code could be something like this:
const rosidl_message_type_support_t * rosidl_message_type_support_ptr =
      ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME(rosidl_typesupport_connext_c, @(field.type.pkg_name), msg, @(field.type.type))();
    if (rosidl_message_type_support_ptr == NULL)
    {
      throw std::runtime_error("rosidl_message_type_support_ptr == NULL");
    }
    const message_type_support_callbacks_t * @(field.type.pkg_name)__msg__@(field.type.type)__callbacks =
      static_cast<const message_type_support_callbacks_t *>(rosidl_message_type_support_ptr->data);
    if (@(field.type.pkg_name)__msg__@(field.type.type)__callbacks == NULL)
    {
      throw std::runtime_error("@(field.type.pkg_name)__msg__@(field.type.type)__callbacks == NULL");
    }

Closing, since with Foxy now being End-of-Life, this repository is no longer used.


Monitor position callback

Add ability to track when user changes monitor position, potentially via the Monitor callback.
This is somewhat related to #1102.

Yes, this should definitely be a thing.


SSL Certificate generation - Server type

Wanted to run the API on https and about to send in a request for certificate generation. But I have seen a dropdown box that asks for the web server type - Apache-ModSSL, Apache-SSL,, nginx, Tomcat etc. Which one do I choose? Traccar runs its own web server i guess

Please carefully read all the information on the page:
https://www.traccar.org/secure-connection/

lol...thanks a lot. I asked the question before I read the answer to my previous question


[AutoPR] adhybridhealthservice/resource-manager

Created to accumulate context: adhybridhealthservice/resource-manager

(message created by the CI based on PR content)


improvement: Realtime Markdown rendering

📝 Summary
Completes #2137.
🔍 Description of Changes

📋 Checklist

[x] I have read the contributor guidelines.
[x] For large changes, or changes that affect the public API: this change was discussed or approved through an issue, on Discord, or the community discussions (Please provide a link if applicable).
[ ] I have added tests for the changes made.
[x] I have run the code and verified that it works as expected.

📜 Reviewers

@akshayka OR @mscolnick

Nice! Might be worth seeing how this interacts with the VSCode plugin which already does this

@dmadisetti - its essentially the exact same logic, but they won't overlap or effect each other.

@wasimsandhu , this is awesome!!

Ah that's a good point. Let me check it out and report back

@wasimsandhu - its ok if the markdown is queued and doesn't update. but the worry is if after the sleep is done, will it run 30 requests (one for each char) through the kernel or 1. ideally its 1, if that is not the case, I will dedupe RunRequests in another PR.

@mscolnick Ahhh gotcha. If it's alright, I'd love to take a stab at it

Totally - go for it! Thanks

Just finished implementing @akshayka's de-duplication logic only to realize run requests were not getting duplicated to begin with... the markdown cell is stale while other cells are running, and it does not autorun after the time.sleep cell finishes executing.
I guess I must have hallucinated it the first time I observed it? I was positive I saw tons of duplicated requests, but now I'm unable to reproduce it lol. Can someone test on their machine and confirm that requests are not being duplicated as the branch currently stands?

EDIT: Please ignore my previous message... I just restarted the server and reproduced the request duplication. Feels like I just got gaslighted

Looks like I misled myself. After trying some different things, I realized that:

multiple run requests are not being sent to the server after blocking cell runs
run requests were being sent to the server on every interaction with the cell (click, drag, etc.)

Updated extensions.ts so that a run only occurs if the cell's code was changed 😅

Sounds good. I will review tomorrow

/marimo create-test-release

@wasimsandhu i just tested it. you are correct, it works as expected and we aren't sending additional requests


Support callable types in PHPDoc

Ping @GrahamCampbell (this is what you meant in https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4927#discussion_r451118785, right?) for review.

The tests are passing on PHP 7.4, @julienfalque any idea why they are failing on PHP 7.0? I remember that there was some RegEx engine update (in PHP 7.3 I guess), but cannot find the info.
Reverting line 49/58 reduces numbers of failed tests, but I don't understand why.

Also the switching position between <simple> and <array> did not break anything on PHP 7.4 (which makes sense as they are separated by |), but broke  * @method gen<int,  string[]> method() <> a case.

Yes, and things like callable(string, array<string, callable(): bool>): int[].

This seems related to https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4914 too.

Ah I forgot about #4914, I thought it was merged already...

I have integrated these changes into #4914.


RAM

load data on navigation not all at start

This is a hug undertaking. Will need to use State per tab. Currently using ~600mb RAM on 4Gb instance... which is essentially free to use due to infrequent use. Parkin this for now. Very low priority


Bug: Presenting button when no bio present

Hey @bdougie. Upon investigation, I discovered that GitHub adds a "hidden" attribute to the bio-div of profile pages in case no bio is present, which was the case in https://github.com/dayhaysoos. This attribute affects the visibility of the "View On OpenSauced" button located as a child to the bio-div and causes it to remain hidden from view. I'll try to to update how the "View On OpenSauced" button gets added onto the page.

Originally posted by @Anush008 in https://github.com/open-sauced/browser-extensions/pull/20#issuecomment-1516136098

Updated the selector to resolve.
Here https://github.com/open-sauced/browser-extensions/pull/20/commits/e7929852aef517cf0bf2d5cf6b12840639e5d7e6.


Allow crash reports to specify both the store and game version

so that we can track the game versions fully which have crashes
The migration to migrate up should detect "steam" and "itch" version number columns and duplicate the data to the store column. I don't think it's worth it to try to figure out the date ranges to convert store names to proper version numbers, though if someone wants to come up with the SQL to do that, we could use it.
It should probably be stored as a string, unless the launcher is also refactored to have a common game store enum value which it knows. With the string approach we want to use a whitelist for the reports so no one who finds out the API endpoints sends garbage reports.

Not super confident with SQL, but the release dates since crash reporting started are:

11/27/2021 0.5.6
2/5/2022 0.5.7
4/16/2022 0.5.8
9/24/2022 0.5.10


Xposed for Nougat released - MicroG on LineageOS now possible?

Hello mar-v-in,
i would really like to use the whole MicroG stuff but I have LineageOS (Android Nougat) on my mobile devices. I'm a bit suspicious of "LineageOS bundled with microG" and would like to stick to the official LineageOS versions. Apart from that "LineageOS bundled with microG" doesn't support my devices at this time.
Today I've read that after long long waiting time Xposed Framework for Android Nougat was finally released: https://www.xda-developers.com/official-xposed-framework-android-nougat/
Does that mean that MicroG can be used on "stock" LineageOS now? Has anyone testet if FakeGapps run on Nougat now? http://repo.xposed.info/module/com.thermatk.android.xf.fakegapps
I'm an android noob and don't want to crash my devices while testing things like that. But I'd really like to see a step by step guide for installing MicroG on current LineageOS versions, if it is possible now.

https://microg.me/

unfortunately not for my devices ... :-(

@momo42 here is the XDA thread of microg.me owner: https://forum.xda-developers.com/android/apps-games/lineageos-bundled-microg-t3672319
Since microg.org is the domain name of the official projet, microg.me is misleading IMO.
Anyway you won't brick your device by testing an Xposed module. Make a nandroid backup, try and report.

Why not simply use the well tested NanoMod? It includes a patcher for any rom and I know users who have used it with LineageOS..

Looks interesting but doesn't solve my problem. LineageOS (and Cyanogenmod before) does not support SignatureSpoofing per design. And regarding to NanoMod dokumentation I would have to patch every LineageOS version on my own ... every week! Same as with manual MicroG install.
In old CyanogenMod times Xposed + FakeGapps was the way to go to enable SignatureSpoofing and to install MicroG on Cyanogenmod. There are some detailed MicroG install tutorials around the web and in computer magazines (i.e. c't in Germany) for this combination. But all tutorials say, that this doesn't work for Android >= Nougat based LineageOS roms because of the absense of a fitting xposed version. Now there is a fitting Xposed but I don't want to be the very first person to test this because I have no dedicated testing device with Nougat on it and I need my phone every day. ;-)
Thanks for all of your comments anyway. Any further ideas on that?
Momo

My patcher (NanoMod-patcher) has addon.d support, so it will be re-patched automatically.
Else you may use pre-patched ROMs, like crDroid, OmniROM, AospExtended, if available for your device.

I just patch LineageOS with tingle

@momo42 to answer your main question:
Yes, on Moto X 2013 (ghost) with Lineage OS 13 (nightly version 20171014) with Xposed v88 and FakeGapps v1.1 from thermatk can run microG (GmsCore 0.2.4-105) (installed from microG f-droid repo). Important thing to run some apps (Google Sheets, for example), you'll have to install any version of BlankStore, FakeStore,... (com.android.vending package) to /system directory (see microG docs).

@momo42 I have installed Xposed 88.1 and FakeGapps v.1.1 in Lineage 14 (Unofficial version to Samsung Galaxy Tab 10.1 2014 Editions). Xposed seens instaled with sucess and FakeGapps activared too, bit signature spoofing isn't working. I couldn't figured why.


Add note about RuboCop configuration

See #45.
https://docs.rubocop.org/en/latest/configuration/#includingexcluding-files

@andyw8 good note. I think the best place for that note here: https://github.com/Arkweid/lefthook/blob/master/docs/full_guide.md
Because we want to keep README.md short and simple as possiible.
Can you move it?
Also I added your note here: https://github.com/Arkweid/lefthook/wiki/Troubleshooting

@Arkweid I've pushed an update.


Rename "CC Destination" to "Swift SDK"

"Cross-compilation destination" is a very verbose name. "Swift SDK" (note that this is distinct from just plain "SDK" used in other contexts) is a nicer alternative. Not all of the types and functions were renamed yet, especially Destination, which has been present in the codebase for long time. Renaming that type will be potentially source-breaking for libSwiftPM clients. This change is focused on updating user-visible strings and renaming types and functions that were  added only recently. CLI subcommands were renamed accordingly.

@swift-ci smoke test

Does not seem to be sporadic, reproducible here again and also in https://github.com/apple/swift-package-manager/pull/6425

@swift-ci test windows

@swift-ci smoke test

@swift-ci test windows

@swift-ci test windows

@swift-ci test windows

@swift-ci please test Windows platform


How to get the miner's payment address?

How to find out the miner's payment address through ad2560a7e327d01668e8f9a2091fc23696b9a0c3fa1a9aecba1ebb10fc8fe13f93f30cfba18ae8acc0536140ea1c967f ?
INFO:root:Farmer ad2560a7e327d01668e8f9a2091fc23696b9a0c3fa1a9aecba1ebb10fc8fe13f93f30cfba18ae8acc0536140ea1c967f updated points to: 220
INFO:root:Farmer ad2560a7e327d01668e8f9a2091fc23696b9a0c3fa1a9aecba1ebb10fc8fe13f93f30cfba18ae8acc0536140ea1c967f updated points to: 230
INFO:root:Farmer ad2560a7e327d01668e8f9a2091fc23696b9a0c3fa1a9aecba1ebb10fc8fe13f93f30cfba18ae8acc0536140ea1c967f updated points to: 240

it's in the database, payment instructions


data table (Atomic) column sort not working

This repository's issues are reserved for feature requests and bug reports.
Bug Report
I am trying to get the sort to work using the atomic components.
When I click the header to sort I am getting:

Object {name: "", order: "DESC"}

No matter what I set name to in the column header it always returns an empty name.
http://plnkr.co/edit/XEkeyFTT36VbR44gXDXk?p=preview

Wow, i dont know how we missed that.
Thanks for letting us know! Will fix asap for beta.2.

Fix will be available in beta.2


Instantiate Accumulator with &[u8]?

I receive, via 'wasm' a serialized array of bytes (big endian) representing a BigInteger value. E.g. [1u8, 0u8]
I am trying to create an Accumulator with that value as the starting state. I have this so far:
    pub fn accumulator_try_from(data: &mut &[u8]) -> Accumulator {
        // Infallible size
        fn read_be_usize(input: &mut &[u8]) -> usize {
            let (int_bytes, rest) = input.split_at(std::mem::size_of::<usize>());
            *input = rest;
            usize::from_be_bytes(int_bytes.try_into().unwrap())
        }
        let len = read_be_usize(data);
        let (val, _rest) = data.split_at(len); // val = &[1u8, 0u8]
        ;
     // NOT SURE BEST APPROACH HERE
 }

is this possible?

In rust you can use Accumulator::try_from(&data). It will fail if you just pass it two bytes as it expects as many bytes as the size of the modulus. I believe the minimum secure size is 256 bytes.

So the only value I get via wasm is the value BigInteger.
The try_from expects 804 bytes as it assumes that the generator, value, modulus and member_count are part of the vector respectively.

I would add the generator and modulus to your data.


Update google-calendar recipe to load external scripts to fix CSP error

Pre-flight Checklist
Please ensure you've completed all of the following.

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.

Description of Change

Based on https://github.com/ferdium/ferdium-app/issues/1086#issuecomment-1656926137, fixed google calendar recipe to load the external css.

Veriified locally that it works:

went to /recipes folder inside ferdium-app and applied the same changes as here
ran pnpm package
started ferdium-app locally with pnpm debug
waited until I was told that services have been updated by prompt
reloaded google-calendar service and dark mode works again

I think though that dark mode is always on now with how its set up. We would need to do something like in https://github.com/ferdium/ferdium-recipes/blob/main/recipes/android-messages/webview.js#L43-L47 I assume

I updated the code to be able to toggle between rather than always have dark mode enforced in  23bf649 (#402)
Here is a video showcasing it working:
Screencast from 2023-08-07 19-28-35.webm

It is important to note that, if enabling Dark Mode in an existing Google Calendar service does not work, you may need to delete it and create a new one.


[DONOT MERGE] Fix/issue 304 - Latency issue for the group experiments

In this PR, I have modified the TYPEORM query for solving the latency issues. The query is regarding generating user and group counts enrolled and checking if for that particular experiment ending criteria whether to change the state to enrollment complete. Note this query is only associated with the experiments having user/group count as ending criteria.

This PR is no longer required as this is taken care in PR #358


Create initial postgres DB

Is your feature request related to a problem? Please describe.
Create the initial connection to a postgres DB for local testing.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Closing in favor of automated deployment via terraform #84