GetPrimitiveArrayCritical bug with IOSLongArray

I think I've run into a bug while trying to use GetPrimitiveArrayCritical with an IOSLongArray.  I've created a small example app that should reproduce the issue, please let me know if you have any difficulty building or running it.
https://github.com/jgartman/IOSLongArrayIssue
Basically the example consists of a small Java class that creates an int and a long array and then passes them to a native function:
class TestClass{

	public void testFunc(){
		int [] intArray = {1234};
		long [] longArray = {1234L};

		nativeTestFunc(intArray, longArray);
	}

	private static native void nativeTestFunc(int [] intArray, long[] longArray);
}

The native function then uses GetPrimitiveArrayCritical to get a pointer to the arrays:
#include "jni.h"

#ifdef __cplusplus
extern "C" {
#endif

    void Java_TestClass_nativeTestFunc(JNIEnv *_env_, jclass _cls_, jarray intArray, jarray longArray){
        jboolean intArrayIsCopy;
        jint* intArrayPtr = (jint*)_env_->GetPrimitiveArrayCritical(intArray,&intArrayIsCopy);
        jboolean longArrayIsCopy;
        jlong* longArrayPtr = (jlong*)_env_->GetPrimitiveArrayCritical(longArray, &longArrayIsCopy);

        int integer = intArrayPtr[0];
        long long_ = longArrayPtr[0];
    }

#ifdef __cplusplus
}
#endif

The problem I'm having is that with the translated code the values in the long array appear to be incorrect.  In the screenshot below the int has a value of 1234 which matches what it was set to originally in Java while the long has value<PHONE_NUMBER>64

It looks like the underlying cause of this might possibly be related to the cast to IOSByteArray that occurs here.  The cast assumes that the buffer for all primitive arrays is at the same offset from the objects base address.  However, in this example the IOSLongArray has it's buffer offset by 16 bytes whereas it's only at 12 bytes for the IOSIntArray:

Please let me know if there is any additional information you need or if you are unable to reproduce this issue on your end.
Thanks.

Thanks for your detailed test and analysis. I think you're right about it being an alignment issue, especially since this code was written before 64bit was the default.
I think adding a buffer property to IOSPrimitiveArray which is implemented by each subclass should address this, as it will return the correct address without GetPrimitiveArrayCritical needing to know what the array type is. Sound reasonable?

@tomball Thanks so much for your quick response, that sounds great to me.

It's an alignment issue: long and double array buffer addresses are 16 bytes from the object address, while the other array types are 12 bytes.

Thanks @tomball, I just tried out a version with your fix and I can't reproduce the bug anymore.  Great project and I really appreciate the support on this issue.

Thanks for verifying the fix.


examples: Update dependencies to use latest go-diskfs

We need to update the version of dependencies in the example in time to help users use this project better.
Signed-off-by: Qinqi Qu<EMAIL_ADDRESS>

Thanks!


There are plans to support 0.6.0+ rn？

There are plans to support 0.6.0+ rn？
Yes, I do. Thank you！！
thank！

Yes, I do. Thank you！！！！！


T5 Decoding forward() num_return_sequences parameter

Environment
Branch/Tag/Commit: main
Docker Image Version: nvcr.io/nvidia/pytorch:21.10-py3
GPU name: A100 80GB
CUDA Driver: 450.80.02

Issue
I converted huggingface transformers T5 model to FasterTransformer.
As far as I know, the generate() method of transformers supports many gen_mode.

greedy decoding
contrastive search
multinomial sampling(a.k.a sampling)
beam-search decoding
beam-search multinomial sampling(a.k.a beam-search sampling)
diverse beam-search decoding
constrained beam-search decoding

If you want more detail about gen_mode, you can read a great post written by Hugging Face.
Also, the parameters of generate()suitable for each gen_mode are described here.

The question is, Is there any way to get many (not just one) sequences for sampling(not beam-search sampling) in FasterTransformer? In transformers, I can get three sequences with sampling with this code.
out = model.generate(**input_token,
                     max_length=32,
                     temperature=0.75,
                     top_p=0.6,
                     do_sample=True,
                     num_return_sequences=3)

But, FasterTransformer T5 (torch.classes.FasterTransformerT5Decoding) doesn't have num_return_sequences parameter.
So I tried to change the FTT5 forward() code as below by referring to this code.
 my code
def forward(self, input_token, inputs_embeds, beam_size, max_seq_len,
            top_k, top_p, beam_search_diversity_rate = 0.0,
            temperature=1.0, len_penalty=0.0, repetition_penalty=1.0, random_seed=0,
            is_return_output_log_probs=False, is_return_cum_log_probs=False, is_return_cross_attentions=False,
            bad_words_list=None, stop_words_list=None, num_return_sequences=1):

    input_ids = input_token.input_ids.to("cuda").type(torch.int32)
    attention_mask = input_token.attention_mask

    assert num_return_sequences > 0
    if num_return_sequences > 1:
        expanded_return_idx = (torch.arange(input_ids.shape[0]).view(-1, 1).repeat(1, num_return_sequences).view(-1)).to("cuda")
        input_ids = input_ids.index_select(0, expanded_return_idx)
        attention_mask = attention_mask.index_select(0, expanded_return_idx)

    mem_seq_len = torch.sum(attention_mask, dim=1).type(torch.int32).to("cuda")

    ft_encoder_outputs = self.encoder.forward(input_ids, mem_seq_len, inputs_embeds)
    results = self.decoding.forward(beam_size,  # optional, can be None
                                    max_seq_len,
                                    top_k,  # optional, can be None
                                    top_p,  # optional, can be None
                                    beam_search_diversity_rate,  # optional, can be None
                                    temperature,  # optional, can be None
                                    len_penalty,  # optional, can be None
                                    repetition_penalty,  # optional, can be None
                                    random_seed,  # optional, can be None
                                    ft_encoder_outputs,
                                    mem_seq_len,
                                    is_return_output_log_probs,  # optional, can be None
                                    is_return_cum_log_probs,  # optional, can be None
                                    is_return_cross_attentions,  # optional, can be None
                                    bad_words_list, # optional, can be None
                                    stop_words_list, # optional, can be None
                                    )
    ft_decoding_outputs = results.pop(0).reshape([-1, beam_size, max_seq_len])
    ft_decoding_seq_lens = results.pop(0).reshape([-1, beam_size])
    if is_return_output_log_probs:
        ft_output_log_probs = results.pop(0)
    if is_return_cum_log_probs:
        ft_cum_log_probs = results.pop(0)
    if is_return_cross_attentions:
        ft_cross_attentions = results.pop(0)
        return ft_decoding_outputs.cpu().numpy(), ft_decoding_seq_lens.cpu().numpy(), ft_cross_attentions.cpu().numpy()

    return ft_decoding_outputs.cpu().numpy(), ft_decoding_seq_lens.cpu().numpy()

But the result is, which I did not expect, when I set num_return_sequences=3, it returned exactly the identical three output sequences.
I tried beam-search sampling with beam_size>1, and it worked well. But it is beam-search sampling, not vanilla sampling.
If there is no way to get many sequences with sampling, is this considered in your future plans?
Thank you.

Currently, you can pass same inputs with different random seeds to get different results. This method leads to duplicated computing in encoder. If you hope to optimize it, you can duplicate the results of encoder after encoder.

Thank you for your advice. It is really helpful for me.
But I still have a few questions about FasterTransformer T5 decoding's parameter.
What is the meaning of num_expert, moe_k, and moe_layer_index?
I can't find any information about these in FasterTransformer T5 Guide Document.

They are experimental features and not release yet.

Thank you. I'll close the issue.


Roll Flutter Engine from 1d5e3cc55a75 to 9df5d733f2bd (3 revisions)

https://github.com/flutter/engine/compare/1d5e3cc55a75...9df5d733f2bd
2024-06-26<EMAIL_ADDRESS>Remove otherwise unused third_party/web_dependencies. (flutter/engine#53588)
2024-06-26<EMAIL_ADDRESS>Copy flutter/flutter/docs/engine to flutter/engine/docs as-is (no changes) (flutter/engine#53595)
2024-06-26<EMAIL_ADDRESS>Roll Dart SDK from 38bb74f63829 to c01f907d34d8 (5 revisions) (flutter/engine#53585)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Collection::keyBy with Mappable

Is it expected that the Collection method keyBy() would not work with Mappable columns?
I have:
class Person extends Model
{
    use Eloquence, Mappable;

    protected $table = 'SLSMAN',
        $primaryKey = 'SISM#',
        $connection = 'ibmi',
        $maps = [
            'first_name' => 'SIFNAM',
            'last_name' => 'SILNAM'
        ];
    ...

And:
$people = Person::get()->keyBy('first_name');

But my collection only has one item in it and the key is an empty string. Using the original field name (like SIFNAM) returns the expected collection with items keyed by first name. Is this the expected behavior for Mappable?
Thanks for reading.

It is not expected, intended, nor does it work like this on my end :)
Please make sure you're doing everything right, because I just tried and keyBy works just fine.

I will investigate my code more carefully then, thank you for your response.

For any future readers who might encounter my error (unlikely) - the problem was that I had an additional, incorrect map in my $maps property:
$maps = ['first_name' => 'SIFNAM',
'last_name' => 'SILNAM',
'full_name' => ['SIFNAM', ' ', 'SILNAM'] // <- this is a problem
];
A little leftover code from my misunderstanding of the documentation of implicit and explicit field mapping failed quietly and caused quite a bit of confusion. With the full_name element in the $maps array, my keyBy worked for fields of numeric data type only, and it worked for both the original and mapped field name. However, all of my strings fields presented as empty when used for the keyBy, even when I put them in a closure (regardless of whether I used the original or mapped name). Removing the bad mapping fixed the problem.
Thank you again for the plugin and your time @jarektkaczyk.


Columns auto-discovery

Hi @sohelamin !
You're going to like this.
This code generates column_name => column_type for existent models
Drop it in your routes file:
route::get('test', function () {

    //any Model here
    $model = new App\Models\User();

    //get columns from table
    $table_columns = $model->getConnection()->getSchemaBuilder()->getColumnListing($model->getTable());

    $columns = [];
    foreach ($table_columns as $key => $col_name) {
        $column_type = $model->getConnection()->getSchemaBuilder()->getColumnType($model->getTable(), $col_name);
        $column_type = trim(preg_replace('/\(\d+\)(.*)/i', '', $column_type));

        //build name=>type
        $columns[]   = [
            $col_name => $column_type,
        ];
    }

    return $columns;

});

Example output:

[
	{"id":"integer"},
	{"name":"string"},
	{"email":"string"},
	{"password":"string"},
	{"remember_token":"string"},
	{"created_at":"datetime"},
	{"updated_at":"datetime"}
]

Imagine this:
In early stages of development, database structure changes a lot.
Most of the times, it's only one field at a time.
Instead of regenerating ALL views, there could be some command:
php artisan crud:form User
or:
php artisan crud:form App\\Models\\User
Fields could be auto-discovered or read by --fields command
What do you think?

@eduardoarandah great idea indeed (y)
If you can please make a PR for this.

I don't understand your code enough for this PR
El El dom, 23 de julio de 2017 a la(s) 12:43, Sohel Amin <
<EMAIL_ADDRESS>escribió:

@eduardoarandah https://github.com/eduardoarandah great idea indeed (y)
If you can please make a PR for this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/appzcoder/crud-generator/issues/179#issuecomment-317269445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD4JxSZUEyPuqPqBjU8TCH4xohrCGQvuks5sQ4ZFgaJpZM4OcD1F
.

--
Enviado desde mi móvil

@eduardoarandah PR means "Pull request"


Add reference GLSL implementation for Worley Noise nodes.

Add reference GLSL implementation for Worley Noise nodes.  This adds the reference implementation to lib/mx_noise.glsl and new .glsl functions that call into the noise library.  stdlib_genglsl_impl.mtlx was modified to call the new functions.
This is the implementation as discussed on the ASWF slack.

This changelist looks great to me, @code-monkey, and I don't see any issues with merging it to main.  As a next step, we should evaluate what would be required to port it to OSL and MDL, and I'm adding @niklasharrysson and @bernardkwok for their thoughts on this.

@code-monkey @jstone-lucasfilm This looks good! There should not be any problems porting this to OSL and MDL, and I would be happy to do those ports when I'm back working again in the new year.

Thanks for the confirmation, @niklasharrysson, and it sounds like we're ready to merge this initial change to MaterialX main.


How to code for multiple output values in decision tables

I have a decision table with multiple output columns, but I can't manage to get both values out of it, using variable name params
Multiple_output.zip

Hi,
Firstly I have checked the input data types and corrected the aow variable (was number instead of boolean):
<inputData id="InputData_1oak7a1" name="AOW">
  <variable name="aow" typeRef="boolean"/>
</inputData>

then it worked, I have run a command:
$ dmntk edm --invocable params huurtoeslag.ctx huurtoeslag.dmn

and the result was correct from the decision table named params:
{"factor_a": 0.1, "factor_b": 0.2}

When run as a service, the result was:
{"data":{"factor_a": 0.1, "factor_b": 0.2}}

I guess this was a problem - mismatched variable type in input data.
I have seen typeRefs="double" - these should be "number" and the output variable of params decision table has no typeRef, this is invalid, but works in current version, so I added the right type definition:
<decision id="Decision_0wqy94m" name="params">
        <variable name="params" typeRef="tParameters"/>
        <informationRequirement id="InformationRequirement_0gjlq3c">
...

Let me know if it worked for you ;-)

Thanks, worked. I keep messing up these things, would be nice if editors complied with DMN 1.3...


creating duplicate field in document

It is currently possible to create a document with duplicate fields. IE
{
  test: 'asdf',
  test: 'zzzz'
}

This is possible by using a symbol or a string key in the hash. IE
var data = {
  'test': 'asdf',
  :test: 'zzzz'
}

Test.new(data).save()

No this is not possible. Even in the second circumstance the underlying keys are all converted to strings and the second value would override the first.


Fix security vulnerability CVE-2019-20149

Hello, I'm a member the development team of VS Code extensions for debugging Cordova and React Native applications. Several vulnerabilities were revealed in chokidar package dependencies. The package causing a security issue is kind-of. Detailed info about CVE-2019-20149 vulnerability is available here. The vulnerability has been already fixed. It's recommended to update outdated dependencies.

What are you talking about? Chokidar doesn't depend on kind-of.

@paulmillr chokidar does depend on kind-of.
I see the following listed in chokidar's package.json file

"anymatch": "~3.1.1", depends on kind-of
"braces": "~3.0.2", depends on kind-of
"readdirp": "~3.3.0" depends on kind-of

Pretty worrying to see a CVE so rapidly dismissed on such a popular package.

@edwardgalligan bullshit. Do your research. I take security very seriously.
Anymatch has 2 dependencies:
https://www.npmjs.com/package/picomatch
https://www.npmjs.com/package/normalize-path
Each of those have 0 dependencies. No kind-of.
Braces has one dep fill-range, which has one dep to-regex-range, which has one dep is-number.
Readdirp has only picomatch.


Allow reuse of 'ls' shim

These changes are necessary so that the "ls" shim can be re-used in Jetpack, as mentioned here

I think @smcgregor should push a new branch called jetpack to privly-applications so that a PR with jetpack specific changes can target that branch instead of master.  Thoughts?

Yeah, I'm fine with that, whatever seems convenient :smile:

I still need to establish the master/develop/feature branch convention for all the repositories. I would prefer to merge JetPack specific changes into a develop branch (or master) unless it becomes necessary to drop support for the current Xul extension.

@smcgregor Since simple-storage is not available to Xul extensions, it seems like a develop branch needs to be created for JetPack specific development.

@hitesh96db Would you like your own branch of privly-applications for JetPack development or would you like to add JetPack as a distinct platform within privly-applications? The advantage of making it a distinct platform is you don't need to maintain your own development branch of privly-applications.

@smcgregor I didn't get what you meant by "adding Jetpack as a distinct platform within privly-applications".

This is really used in the local storage shim because it only needs to differentiate between platforms that don't have local storage (Xul) and those that have local storage (everything else). Basically instead of ripping out all the Xul support, you can think of JetPack as a different extension and test for it in privly-applications. In most of privly-applications I would prefer to deprecate Xul rather than rip it out, since you would only need to test for the presence of the JetPack APIs. However, I don't want to be overly burdensome with legacy concerns as you and @irdan work on this.

(updated comment because I left off the "not")

I don't see a reason to keep support for XUL alongside JetPack in the code base.  @smcgregor can you help me understand the reasoning?
It seems like it would add a lot of dead code / complexity long term.  Is this a concern that could be addressed with a final XUL github release?
Is there some use case I am not thinking about? Perhaps something on the content server side uses it, but even if that is the case would it really impact users? A content server wouldn't have access to any extension level api so the behavior should in theory be unchanged.
I'm struggling to find a scenario where the answer to a problem is any worse than telling people to upgrade to a more featured and better looking extension.

The only point where this will be an issue is with storage. All the other differences are expressed in the extension's repository where we won't need to worry about maintaining compatibility with Xul. So we can either have ~20 lines of changes to support both in storage, or we can maintain two separate development branches of privly-applications while we wait to fully deprecate Xul. Not having two branches saves me management time and it saves you and Hitesh the need of rebasing in the future. If you are planning more substantive changes than adding a storage adapter, then we should probably just open a new feature branch...

Ah, well this is a much smaller issue then.  I lost sight of how few changes would actually make their way into privly-applications. Provided that XUL support in the the shim is removed once JetPack usurps XUL, I'm happy with whatever @hitesh96db thinks is easiest.

I'd go with a new Jetpack development branch.

I pushed a new branch for this purpose, gsoc-jetpack. https://github.com/privly/privly-applications/tree/gsoc-jetpack

PR sent to gsoc-jetpack branch - https://github.com/privly/privly-applications/pull/244


Training Details.

Which kind of GPU are you used for training?

All experiments are done on 8 NVIDIA V100(32G) GPUs.


Add enterprise attribute to metadata endpoint

The metadata API endpoint supports a enterprise response attribute since 15.6. This PR adds this support to the client.

@svanharmelen, could you please create a release for this one?
We'd like to use this field to support this issue: https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/issues/1362

Released v0.78.0


PacketIn.java:35: Add a simple singleton field for...

The puzzle 1-1190f350 from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/01751865c656588e595a74681ace86371e5002fd/src/main/java/io/github/shiruka/shiruka/network/packet/PacketIn.java#L35-L35
The puzzle was created by Hasan Demirtaş on 04-Jan-21.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-1190f350 has disappeared from the source code, that's why I closed this issue.

The puzzle 1-1190f350 has disappeared from the source code, that's why I closed this issue.


ARIA support for Λrrow

Got feedback on Mastodon that Λrrow is not user friendly in for screen readers, and should be wrapped in ARIA spans.

You're using lamda in the name "Λrrow" to make it look cool, and I agree it looks cool, but a screen reader like VoiceOver will pronounce this as just "row". This could be fixed with  Λrrow at least, though I'm no ARIA expert.

I tried to do a quick sweep on the website, but was unsure how to deal with it in cases like yaml.

Maybe this could be something we can change across the board and use A. The Λ can still be used in images or media when not presented in textual format.

I'll have a look on the places where the content is being read from .yml files, I think it could a quick and very beneficial fix.

Following on Raul, I have opened a PR in https://github.com/arrow-kt/arrow-website/pull/146 explaining what it could probably the best route to go.


A suggestion to make this even more destructive

Hello, instead of always modifying the number you could instead modify it randomly (for example one out of every 100 numbers will be modified the other 99 will be the same). So the problematic behavior will only happen once in a while making debugging impossible!

True = not True
False = not False

import ctypes

def deref(addr, typ):
    return ctypes.cast(addr, ctypes.POINTER(typ))

deref(id(29), ctypes.c_int)[6] = 100

seems to work, haven't managed to switch out the bool values yet.


Build a command to evaluate code blocks for programming language

[ ] Rust

[ ] Python

[ ] C

[ ] C++

We cannot allow evals in the bot. This is very dangerous and it is hosted on my personal server, look into snekbox for a safe python eval environ. We would need to interface using a discord command.


⚠ Bofrost.lu has degraded performance

In ad0cfcf, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1643 ms

Resolved: Bofrost.lu performance has improved in ea756e4 after 10 minutes.


MTP bank transfer instructions

Its an updated version-draft according to google doc. It still needs
improvement on styling

Also, the content document has been updated. Please refer to to the highlighted sections in the link I gave you earlier.


And when "Sign in to GitHub" sends to to a localhost address? Then what?

And when "Sign in to GitHub" sends to to a localhost address? Then what?
I try to add my GH account and get the error below and it opens the browser to an address like this:
https://localhost:62011/?browser_session_id=3b76a903d3bb61bd7ca25ad0fadd24ac009736d6bd33639fff78f28a7b6eed93&code=f18a047f78ff7ebccebd&state=unused

Here's hoping someone reads this and believes me!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 0fbbc520-9d46-ff40-59af-3ec0c0c5dc84
Version Independent ID: a3c07335-ea71-1b0e-6da8-080bfe34937d
Content: Add GitHub accounts to your keychain - Visual Studio (Windows)
Content Source: docs/ide/work-with-github-accounts.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @anandmeg
Microsoft Alias: meghaanand

@dlwiii -- Daniel, thank you for your feedback.  I believe you.  Please consider these resources:

Ask a question or find an answer on the Microsoft Q&A page for Visual Studio.
Check the Visual Studio MSDN Forum.
Stack Overflow
Reddit

I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.


circleci: clean up build configuration

cc @SuperQ I've removed a couple of things that weren't strictly necessary given how jobs are split now.

Yes, thanks for the cleanup.  There were some build steps that got duplicated from the node_exporter build where we use a test docker image build.

@krasi-georgiev The only "test" is to cut a release, it worked just fine in node_exporter.  We can cut a release pretty easily by pushing a tag and setting up a draft release.  It never has to hit public visibility.

@SuperQ I'm wondering about this snippet:
https://github.com/prometheus/prometheus/blob/c207920500d1d55c21d7b7dbb27ba213394ce369/.circleci/config.yml#L76-L86
As I read, it only pushes the $CIRCLE_TAG tag to the registries, but not the latest tag. The previous version of the CircleCI configuration ran docker push <IMAGE NAME> which would push all local tags.

Link to the equivalent section in the previous CircleCI configuration:
https://github.com/prometheus/prometheus/blob/bc6058c81272a8d938c05e75607371284236aadc/circle.yml#L47-L63

I think that may have just been a copy/paste error when I duplicated the node_exporter's circle2 config.  Feel free to fix it.


Using the C library: exp_mont_384 is hard to use

Hi,
Situation
I am currently trying to do (blst_p2)a ^ (size_t)b.
I found out that sometimes, the blst_p2 in the header file becomes vec384 in the source file, so i guessed that exp_mont_384 might be what I want.
I then looked for its usage and I think I should be able to write my own power function
void blst_p2_power2(blst_p2* result, blst_p2* base, size_t exp) {
    // 2 definitions of limb_t in the lib
    // typedef uint64_t limb_t;
    // typedef unsigned long long limb_t;
    static const unsigned long long p0 = (limb_t)0x89f3fffcfffcfffd;
    exp_mont_384(result, base, &exp, sizeof(exp) * 8, BLS12_381_P, p0);
}

The issue is that I cannot really import const.h for limb_t has 2 different definition in the project
typedef uint64_t limb_t;
typedef unsigned long long limb_t;

Questions

Am I understanding it right?
Is there something already available for the power function of blst_p2 types?

Sorry, I was confused by multiplicative notation. Still, having the same typedef for different types is confusing


Fix compiling for x86_64-unknown-linux-gnu when it's not the default target

Fixes https://github.com/rust-lang/docs.rs/issues/1556 by only special casing proc-macros instead of any crate targeting the host.
r? @Nemo157

I think we probably want to override Metadata::targets to only return a single target for proc-macros too (since we don't actually obey the target setting). I found a random proc-macro without a target override and it only has docs for the default target: https://docs.rs/datatest-derive/0.6.3/datatest_derive/.

add_essential_files needs to be updated to look in the target dir
-let source = build.host_target_dir().join("doc");
+let source = build.host_target_dir().join("doc").join(HOST_TARGET);

Yay, this is finally passing tests :) this should be ready for rereview.

@Nemo157 Could you trigger the rebuild from 0.3.0 to 0.3.3 version? I want to check if the problem is solved.


Add events

add /events

Hello and thanks for contributing! Please note that there is already some ongoing effort to implement support for the /events endpoint, see #58. I would therefore advise you to rather focus on something else if you would like to contribute to this library.
Apart from that please note that /events is not an endpoint that simply returns a list of events to be parsed into objects, your current patch would therefore never return any events. What we rather get is an HTTP stream of the salt master event bus and that stream is formatted per the Server Sent Events (SSE) spec. This allows us to receive events from the salt master in real time which has been implemented in #58.
Sorry that I am closing this, hope to see more contributions from you!


Add additional properties to default template

What do you think of using something like the following as the default template for this plugin? It would allow for a bit more customization without the need to create a separate template for each project.
<!DOCTYPE html>
<html lang="<%= htmlWebpackPlugin.options.lang %>">

    <meta charset="<%= htmlWebpackPlugin.options.charset %>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="<%= htmlWebpackPlugin.options.description %>">
    <title><%= htmlWebpackPlugin.options.title %></title>

    <div id="<%= htmlWebpackPlugin.options.entryId %>">

You could either extend the plugin or use https://github.com/jaketrent/html-webpack-template


fix: remove gap

Remove the gap between the component and the outline ring, as per https://theappsmith.slack.com/archives/C045A6F2GGG/p1675836512007859

Tested this PR for the gap between the component (Radio & Check) & the outline in Focus state. Looks good.


[BUG] AppInfo::launch_uris_async_future does not launch app

The function AppInfo::launch_uris_async_future does not launch the program.
The block_on command waits infinitely.
The code is below. There was no backtrace.
Admittedly, I am not quite certain whether my code is correct.
main.rs:
use gdk::prelude::AppInfoExtManual;
use gio::{AppInfo, traits::AppInfoExt, glib::MainContext};
use futures::executor::block_on;

fn main() {
    gdk::init();
    MainContext::default().push_thread_default(); // otherwise future cannot be polled
    let context = gdk::Display::default().unwrap().app_launch_context().unwrap();
    for info in AppInfo::all() {
        if info.display_name() == "Konsole" {
            // info.launch_uris(&[], Some(&context)).expect("Error"); // works
            let future = info.launch_uris_async_future(&[], Some(&context));
            block_on(future).expect("Error");
        }
    }
}

cargo.toml:
[package]
name = "appinfotest"
version = "0.1.0"
edition = "2018"
[dependencies]
gio = { version = "0.14.8", features = ['v2_60'] }
gdk = "0.14.3"
futures = "0.3.17"

That's because you're not running any GLib main loop on the default main context, and just block your main thread.
This will probably work if you use glib::MainContext::default().block_on(future) instead.


Codegen : Ability to configure useGetters/useFields

By default, fields and getters are analyzed during code generation, but I need fields only generation. I found an option for that in DefaultConfiguration,  but there is no way to set it using maven plugin. I also didn't find a workaround for now.

Which Querydsl version are you running, which Querydsl project do you use?

I'm using latest QueryDSL version (3.6.9) and JPA module (with JPAAnnotationProcessor and generic QuerydslAnnotationProcessor for custom use of generated model)

JPA has an annotation specifically for labeling which access type must be used:
https://docs.oracle.com/javaee/7/api/javax/persistence/Access.html
As for the maven plugin, do you mean the querydsl-maven-plugin or the apt-maven-plugin?

Thanks, but in my case the issue is on non JPA classes using QuerydslAnnotationProcessor
I'm using the apt-maven-plugin. By the way I don't really get the distinction and use case for both plugins.

I was just making sure, since you only mentioned 'maven plugin'.

There will now be a way to configure the useFields and useGetters properties by supplying it to the <options> element in the apt-maven-plugin.

Awesome, that was quick ! Thanks


[3rd party apps] Remove DevEn team from all 3rd party app repos

Once we finish all of our transition steps DevEn should be removed as admins from all 3rd party app repos we no longer have maintainer responsibility over.
Acceptance Criteria

[ ] Ensure a team has been set as  maintainer
[ ] remove DevEn as admins from all 3rd party app repos

This requires us to confirm who the new maintainers will be. This is pending with confirmation from Gil.


Document Date issue.

As far as I know, .entity framework core 2.2 is released in Dec 2018, but this document updated date is 10/27/2016. is it outdated?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0036f8c5-d838-69a5-cc09-dc74df09bc07
Version Independent ID: 5335749f-e32f-979f-7139-f5f14373e283
Content: Compare Entity Framework 6 and Entity Framework Core
Content Source: entity-framework/efcore-and-ef6/index.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

@ZhanglongWu The major feature in 2.2 was spatial, which is included here, so I think it is up-to-date.


Mapping values to foci.

I made the following changes to plot SEEG electrodes and task-related activations:

Brain.add_foci can now map values using foci color and size.
added Brain.add_text3d for labeling foci in 3d

Codecov Report

Merging #259 into master will decrease coverage by 8.25%.
The diff coverage is 90.32%.

@@            Coverage Diff             @@
##           master     #259      +/-   ##
==========================================
- Coverage    74.9%   66.64%   -8.26%
==========================================
  Files           7        7
  Lines        2506     2536      +30
  Branches      501      505       +4
==========================================
- Hits         1877     1690     -187
- Misses        454      664     +210
- Partials      175      182       +7

Hi,
Made some changes, not there's only one add_foci function that uses quiver3d instead of points3d to draw the spheres. Implemented internal checks for data and made color-coded spheres optional.
Regarding text functions: i only copied add_text function from above and changed it to uses the text3d function in mayavi. All 4 arguments (row, col, justification and font_size) were already there.
Couldn't figure out failed tests myself, please help me fix those.

Hi, was this feature ever implemented in the library?
I need to plot some text on a brain surface but I'm not sure how to achieve this in pysurfer.
Thanks

@danielegrattarola This has not been merged. There are unresolved questions about how best to integrate into the existing PySurfer API, and the tests are not passing. But looking at the code should give you a pretty good idea of how to add text onto a PySurfer visualization. It will take you writing more code than if it were just a method on the Brain object, but it is definitely possible.

@mwaskom Thanks, I've managed to hack a solution together using mlab.text3d for now.
Cheers


gget alphafold: RuntimeError: jaxlib version 0.4.1 is newer than and incompatible with jax version 0.3.25. Please update your jax and/or jaxlib packages

I have installed gget in my ubuntu 20.04. However, when I do a gget setup alphafold it sets it up fine as below:
Thu Jan 12 06:06:31 2023 INFO openmm v7.5.1 already installed.
Thu Jan 12 06:06:31 2023 INFO Installing AlphaFold from source (requires pip and git).
Thu Jan 12 06:06:37 2023 INFO AlphaFold installed succesfully.
Thu Jan 12 06:06:37 2023 INFO Installing pdbfixer from source (requires pip and git).
Thu Jan 12 06:06:41 2023 INFO pdbfixer installed succesfully.
Thu Jan 12 06:06:41 2023 INFO AlphaFold model parameters already downloaded.
However my run on
gget alphafold MAAHKGAEHHHKAAEHHEQAAKHHHAAAEHHEKGEHEQAAHHADTAYAHHKHAEEHAAQAAKHDAEHHAPKPH
returns the following error. I have also tried doing  pip install -U gget followed by  pip install -U gget I still get the same error:
Traceback (most recent call last):
File "/home/sutripa/anaconda3/bin/pip", line 11, in
sys.exit(main())
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/cli/main.py", line 70, in main
return command.main(cmd_args)
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 98, in main
return self._main(args)
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 214, in _main
self.handle_pip_version_check(options)
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 143, in handle_pip_version_check
session = self._build_session(
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 88, in _build_session
session = PipSession(
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/network/session.py", line 289, in init
self.headers["User-Agent"] = user_agent()
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_internal/network/session.py", line 132, in user_agent
linux_distribution = distro.linux_distribution()  # type: ignore
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 125, in linux_distribution
return _distro.linux_distribution(full_distribution_name)
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 681, in linux_distribution
self.version(),
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 741, in version
self.lsb_release_attr('release'),
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 903, in lsb_release_attr
return self._lsb_release_info.get(attribute, '')
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 556, in get
ret = obj.dict[self._fname] = self._f(obj)
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/pip/_vendor/distro.py", line 1014, in _lsb_release_info
stdout = subprocess.check_output(cmd, stderr=devnull)
File "/home/sutripa/anaconda3/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/home/sutripa/anaconda3/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
Traceback (most recent call last):
File "/home/sutripa/anaconda3/bin/gget", line 8, in
sys.exit(main())
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/gget/main.py", line 1551, in main
alphafold(
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/gget/gget_alphafold.py", line 302, in alphafold
from alphafold.model import model
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/alphafold/model/model.py", line 20, in
from alphafold.model import features
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/alphafold/model/features.py", line 19, in
from alphafold.model.tf import input_pipeline
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/alphafold/model/tf/input_pipeline.py", line 17, in
from alphafold.model.tf import data_transforms
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/alphafold/model/tf/data_transforms.py", line 18, in
from alphafold.model.tf import shape_helpers
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/alphafold/model/tf/shape_helpers.py", line 16, in
import tensorflow.compat.v1 as tf
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/init.py", line 51, in
from ._api.v2 import compat
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/init.py", line 37, in
from . import v1
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/init.py", line 30, in
from . import compat
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/compat/init.py", line 37, in
from . import v1
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/compat/v1/init.py", line 47, in
from tensorflow._api.v2.compat.v1 import lite
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/init.py", line 9, in
from . import experimental
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/init.py", line 8, in
from . import authoring
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/authoring/init.py", line 8, in
from tensorflow.lite.python.authoring.authoring import compatible
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/lite/python/authoring/authoring.py", line 43, in
from tensorflow.lite.python import convert
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/lite/python/convert.py", line 28, in
from tensorflow.lite.python import util
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/tensorflow/lite/python/util.py", line 55, in
from jax import xla_computation as _xla_computation
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/jax/init.py", line 35, in
from jax import config as _config_module
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/jax/config.py", line 17, in
from jax._src.config import config  # noqa: F401
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/jax/_src/config.py", line 27, in
from jax._src import lib
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/jax/_src/lib/init.py", line 74, in
version = check_jaxlib_version(
File "/home/sutripa/anaconda3/lib/python3.9/site-packages/jax/_src/lib/init.py", line 69, in check_jaxlib_version
raise RuntimeError(msg)
RuntimeError: jaxlib version 0.4.1 is newer than and incompatible with jax version 0.3.25. Please update your jax and/or jaxlib packages.

Hi Sucheta, thank you for reaching out. Please update jax and jaxlib by running pip install -U jax jaxlib. Does the error still persist?


[Sema] Diagnose use of ambiguous custom attributes

When resolving custom attributes (like property wrappers), we just bail out if we find more than one declaration, instead of diagnosing the ambiguity. This can be especially confusing if a user has declared a property wrapper that clashes with another one. For example, one could declare their own ObservableObject property wrapper in a module (say A) but if one imports both SwiftUI and A in the same file to use ObservableObject then we end up emitting an "unknown attribute" diagnostic, which is quite misleading.
So, in this PR, we emit some diagnostics when we find multiple candidates and provide a module qualification fix-it if appropriate.
Resolves SR-13470

@swift-ci please smoke test


Move away from migration fixtures in tests

Fixes https://github.com/OpenZeppelin/zeppelin-solidity/issues/55. Those were all the tests I saw still using that pattern, let me know if I missed any.
I can change the set up in the beforeEach if needed. I personally like that style, because it removes a lot of the redundant set up logic, allowing for the logic under test to be more clear.

ACK
Thanks @se3000!


Add Hammer package spec

Hammer is a new tool for packaging applcations. It should simplify the build/package process.

addressed in #80


Making values class properties instead of returning them in a function

Hi Jason (@cornflourblue), I recently came across this service you had written and really liked it so i decided to include it in my project, however, i decided to refactor some of the code and change the service API. One of the key things i did was to change the pager function so that instead of returning the pager properties:
// return object with all pager properties required by the view
return {
    totalItems: totalItems,
    currentPage: currentPage,
    ...
};

It would instead assign the  pager values to the class:
this.totalItems = totalItems;
this.currentPage = currentPage;
...

Thus turning this stateless service into a stateful one.
This makes sense for my current app as I want to keep track of what page the user is on even after they switch routes i.e. incase they return to the results page.
Was there any particular reason why you made this service stateless?

Hi Anton, a service method returning an object feels more natural to me, storing state in the pager service could cause issues if you have more than one section in your app that uses paging, because the service doesn't know what it's paging but simply calculating some numbers based on the input parameters.
I'd suggest maybe storing the return object from the pager service somewhere else along with the name/id of the section it's for.

Hi Jason, i hadn't thought about multiple pagination components as i don't need them on my particular project but you're right, storing  the pager results on a separate service might be the answer and that way the pagination component will be reusable.


Should we add an (optional) listener on a specific port?

Right now, we provide functions that serialize the metrics to a string and expect you to add a route to your API to expose the metrics.
Instead, we might want to provide an optional feature that just exports the metrics on a specific port and path. We would need to decide which port https://github.com/orgs/autometrics-dev/discussions/32 to listen on, and this would probably add hyper as a dependency.
If we add this, should it be enabled by default or opt-in?

I'm going to close this issue for now and we can reopen it based on the conclusion in https://github.com/orgs/autometrics-dev/discussions/32


Proposal: Make the getter for XamlCompositionBrushBase.CompositionBrush public

Proposal: [Make the getter for XamlCompositionBrushBase.CompositionBrush public]
Summary
I have custom controls that use CompositionBrushes internally but have XAML Brush dependency properties. I have written XAML Brush to CompositionBrush translations for solid and linear gradient, but not for acrylic or anything else that comes along.
Rationale
I can't think of any dangers to making access to the getter public.

I agree there isn't a strong need to have the getter be protected. Having a public getter might suggest more flexibility than the XamlCompositionBrushBase subclass might support, though. For example:

It is usually best practice to Close() a CompositionBrush when it is no longer needed, so anyone trying to directly use the CompositoinBrush will be broken if the XCBB calls Close() (such as because it decided to switch to a different CompositionBrush).
Complex XCBB classes like AcrylicBrush update the CompositionBrush based on various events they monitor (like app theme, low power, and resolution scale changes), and those aspects would also be lost if someone tries to use the CompositionBrush without its associated XCBB.

A public getter could still safely be used to check if the CompositionBrush has been set, or for a test to check if the right type and properties got set, though.

Good points. Plus if someone disposes the CompositionBrush before the XCBB is done with it I imagine that could be problematic. Maybe there could be a method to clone it? Something like:
Compositor.CreateBrushFromXaml(XamlCompositionBrushBase xamlBrush)

Cloning would solve the Close() issue, but not the "Complex XCBB classes" issue.


refactor to simplify the bootstrap kubeconfig creation logic

The related issue: https://issues.redhat.com/browse/ACM-15486

/lgtm

/unhold


Attention maps

Did you make the programs available to make the attention maps? I would like to better understand how it was generated

No, we just released the code for the main functionalities: pre-processing, training, and testing

Kevin Kevin.
Could you explain.  How did you make  figure 4?
Em qua., 12 de abr. de 2023 03:36, Kevin Thandiackal <
@.***> escreveu:

No, we just released the code for the main functionalities:
pre-processing, training, and testing
—
Reply to this email directly, view it on GitHub
https://github.com/histocartography/zoommil/issues/6#issuecomment-1504740508,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO57VQPTLFXFA3JY6B2MDB3XAZEO7ANCNFSM6AAAAAAW2GKL5Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello Kevin.
Could you explain to me, how did you make  figure 4? Because in your model you have two GA., then for me its not clear how did you make the attention score for each patch.

Hi, basically you can modify the forward pass of the model so that it also returns the attention scores A_1_aux as well as the indices of the selected patches. Then you can infer the corresponding patch coordinates so that they can be highlighted in the WSI.
It's not super straightforward. I will try to provide a script for this in the coming days, but it may take some time.

Hmm, I understood the idea Kevin, but what would be the variable with the indexes of the patches? And how will I know the coordinates, if they are not given in the model, only in the preprocess?

For the indices you can use, e.g., select_1. A preprocessed .h5 file should also contain the fields 1.25x_coords, 2.5x_coords etc. from which you can retrieve the patch coordinates.

But you only plot the attention for the top k ?

You're right, what I described is for plotting only the top k. If you want to plot all attention values, you don't need the selected coordinates. You can use the attention A_1_aux and the coordinates from the .h5 file. The order should match.
When you use the actual WSI to overlay it with the attention scores, it's important to load it at the right magnification and pad it in the same way as during preprocessing (similarly as here)

I understood this part Kevin,
However the output of the function pad_image_with_factor function is an np array , I'm having trouble getting back to the original image format to plot the heatmap, in my case svs.

If it's just for visualization, you don't have to go back to .svs. You can use Image.fromarray() from the PIL library to convert the numpy array to an image that you can save.

Hi Kevin, I'm sorry but it's still not clear to me what you are saving in the coordinates. Are they colors and lines? Are they x and y? if they are columns and rows how do I know the total number of columns and rows each image has?

Hi, the coordinates represent the column and row indices of the patches. If you multiply the indices with the patch size (256), you get the absolute coordinates y and x. What do you need the total number of columns/rows for?

Hi Kevin, strange because for the second dimension I have 4 values for each patch, the last two of which are binary only (0,1).
Another strange point is that this multiplication of 256 works only for 20x dimension images and not for 40x dimension. I'm trying to use deepZoom's get_tile_coodenates to get back the initial coordinates. But apparently it doesn't get the exact coordinate either.

Kevin, when you extract the highest magnitude attention scores, the program is doing a torch.einsum. This makes my score vector very small, different from the number of patches and the same size for all images. What is the purpose of making this transformation to x2?


Github labels and [WIP] semantics

The conversation was started in #104. The conversation so far:
sslattery: @aprokop is this WIP? isn't it being actively reviewed?
aprokop: It is [WIP] because it is not a final state of patches. Unless I understand WIP incorrectly.
sslattery: I interpreted WIP as something that is still being actively developed. Once removed it is ready for review and fixes per the reviewer comments
aprokop: Then I think we need three states:

Work has been started but not finished
Work has been finished and patches are ready for review, but they may need more work
Work got review approval and satisfies all criteria. Merge.

The issue I see with missing 2 is that there is no clear indication whether the patches have been cleaned up. So, somebody may see that a PR has been reviewed and go ahead and merge while an authors is rebasing and cleaning up.
sslattery:I think if the patches haven't been fixed then it simply isn't merged yet. So if the reviewer thinks 2 is done and the PR can move to 3 then it is merged and closed
sslatery: Thats also what the need review tag is for

If I review a branch, and find no issues, do I remove "need review"? If somebody else look at this branch and find issues with it, do we rely on that person to put "need review" label back on?

i would say it needs review until it is merged. i guess we don't have a multiple reviewer policy

We have discussed and come to an agreement


After ionic upload - console is stuck on "Saved app_id, writing to ionic.io.bundle.min.js..."

Using ionic1
pls help

same here, I logged into ionic cloud, saw there are a duplicated apps with the same name i am trying to upload. I deleted both of them, then i create a new app in ionic cloud, get the app id and try to link it with my code by 'ionic link ', but it fails with "You cannot run this command unless you are in an Ionic Project folder" warning, but i do have ionic.config.json in my folder.


Updated

The indentation has been fixed. #hacktoberfest@Infosys

Closes #theRelatedIssueNumber

[] Running yarn lint does not trigger any linter errors
[] The test of the method you have fixed is passing
[] You have written a new skeleton method for someone else to work on!
[] You have written tests to accompany your skeleton method

@sibasisj - please review our Contributing Guide before making pull requests.


Update 1.2.0

☆ Wsproto 1.2.0 Update ☆
Jira Ticket
Upstream
Changes

Updated version number and sha256

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_7egqjeoywp/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:45: documentation_specifies_language: Use the generic link, not a language specific one

===== ERRORS =====

clone/recipe/meta.yaml:19: missing_wheel: For pypi packages, wheel should be present in the host section
clone/recipe/meta.yaml:45: invalid_url: https://wsproto.readthedocs.io/en/latest/ : Not reachable: 403
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_bbxhq_h0sf/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:46: invalid_url: https://wsproto.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
1 Error and 0 Warnings were found

LGTM, but it might be worth running the upstream test suite.

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_dajdrgd41r/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:47: invalid_url: https://wsproto.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
1 Error and 0 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_39fjqfvuzt/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:51: invalid_url: https://wsproto.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
1 Error and 0 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_8bwp7mvzcy/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:51: invalid_url: https://wsproto.readthedocs.io/ : Not reachable: 403
===== Final Report: =====
1 Error and 0 Warnings were found


How to get the last level cache details using libpfc

Hello
I am new to use the performance counter measurement and specially libpfc. I am using a 7th generation intel processor and I was wondering if I can use libpfc to measure the last level cache miss per slice details as mentioned here. I am referring to this uncore performance monitoring for 6th generation processor to get the desired result. I would really appreciate if I could get some help regarding what should I need to do to use the libpfc to measure the per sliced based LLC miss. Thank you.

@duttasankha libpfc certainly can't program the uncore PMU (including its CB0 counters). You might be able to program the llc.miss counter, however. Start from and modify my pfcdemo.c, but use pfcParseCfg("llc.miss") plus anything else you'd like to measure.
I just want to make extra clear here that the pfcPinThread() is critical. libpfc and pfc.ko only program the counters for a single core and can't "move" counters with a process. If the thread moves cores, it will read some entirely unrelated counter values. Also, if another process starts executing on that core, it will increment the counters as well.
This code is quite fragile, and was meant mostly for reading the counters for relatively-uncomplicated CPU-bound loops with absolutely minimal overhead. It's probably not ideal for your task. For something more industry-grade, look at a combination of

libpfm, which gives you the event codes (the return value of pfcParseCfg()) but doesn't program the performance counters, and
perf_event_open(), which uses the official Linux kernel interface to program the counters properly (without all the dangers in my code), but does not provide the event codes.


[CI:TOOLING] orphanvms: trigger on start instead of create time

There are cases where users have "play" VMs that are normally shutdown
when not in use.  The monitor was falsely triggering on them when
running, due to their very long create-time based age.  Switch to using
the start-time, which will be more accurate in all use cases.
Signed-off-by: Chris Evich<EMAIL_ADDRESS>

I'm just going to merge this, I already tested it manually.


can not find "tensorflow/cc/ops/dataset_ops_internal.h"?

In the dataset example tfrecord_test2.cc, there is included file
#include "tensorflow/cc/ops/dataset_ops_internal.h"'
but I can not find it, how can I solve the problem, thanks

Please check the corresponding commit  https://github.com/rockzhuang/tensorflow/commit/489e04e1deeeb0c187b06aa3749e9383d341a37b
Some modification in BUILD file are required.


UseHashRocketsWithSymbolValues treats array of symbols as symbol

I don't know whether this is what it's supposed to be.
I got a "Use hash rockets syntax." wanrning from code
resources :blogs, only: [:create, :update, :destroy]

with UseHashRocketsWithSymbolValues: true.
The rule works well as I expect with hash like { foo: "bar" } and { foo => :bar }

Expected behavior
No warning
Actual behavior
Got a "Use hash rockets syntax." wanrning
Steps to reproduce the problem
Have the following in rubocop.yml
Style/HashSyntax:
  EnforcedStyle: ruby19
  UseHashRocketsWithSymbolValues: true
  PreferHashRocketsForNonAlnumEndingSymbols: false

Run rubocop against following:
resources :blogs, only: [:create, :update, :destroy]

RuboCop version
$ rubocop -V
0.47.1 (using Parser <IP_ADDRESS>, running on ruby 2.4.1 x86_64-darwin16)

probably because
resources :blogs, only: [:create, :update, :destroy]

is treated  by the Ruby interpreter as
resources :blogs, {:only => [:create, :update, :destroy]}

@ashmaroli Sorry, I didn't get your point. According to https://github.com/bbatsov/rubocop/blob/022e7322b731b06bd31ce5ef1bac378b27551ed0/config/default.yml#L631
it force hashes that have a symbol value to use hash rockets
resources :blogs, only: [:create, :update, :destroy]

and
resources :blogs, {:only => [:create, :update, :destroy]}

should both be fine as the value is an array rather than symbol. And I don't think it has something to do with interpreter.

Sorry, I didn't get your point.

@retroalgic My bad. I myself don't know what I was thinking when I commented that..
Will be deleting that and this comment shortly..

Couldn't reproduce this issue on
0.48.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.1 i386-mingw32)

though.

@ashmaroli did you use the same config options as the OP?

Setup:
.
|__ lib/
|    |__ test.rb
|__ Gemfile
|__ .rubocop.yml

# lib/test.rb

resources :blogs, only: [:create, :update, :destroy]

# Gemfile

source 'https://rubygems.org'
gem 'rubocop', require: false

# .rubocop.yml

---
Style/HashSyntax:
  EnforcedStyle: ruby19
  UseHashRocketsWithSymbolValues: true
  PreferHashRocketsForNonAlnumEndingSymbols: false

Test Run
bundle exec rubocop -V
# => 0.48.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.1 i386-mingw32)

bundle exec rubocop
# =>
# Inspecting 2 files
# .C
#
# Offenses:
#
# lib/test.rb:1:25: C: Use %i or %I for an array of symbols.
# resources :blogs, only: [:create, :update, :destroy]
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
# 2 files inspected, 1 offense detected

@ashmaroli @bbatsov Sorry, my fault.
The code is in a block actually:
scope :module => :users do
  resources :registrations, only: [:create, :update, :destroy]
end

I think RuboCop checked the consistency with scope :module => :users. But it's not what I expected. Also for me, the problem can be solved by enabling Style/SymbolArray. Thx!

I also got the same offence with the following
class ApplicationController < ActionController::Base
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery :with => :exception

  def default_url_options
    { locale: I18n.locale.downcase }
  end
end

When UseHashRocketsWithSymbolValues is true, the hash rocket syntax should be used when there is at least one symbol literal among the values of a hash. But the HashSyntax cop caches the @force_hash_rockets flag and uses it for all subsequent hash literals in the file. This is a bug.


usertype container example

Hi,
Sorry about the help desk but I am having hard time figuring how to make an usertype as a container.
My constraint is that I cannot modify the usertype though, otherwise you have indeed already put nice helpers to do that... It would have been to easy :)
I have a usertype like the following
struct Point
{
Point() {}
Point(int x_, int y_) : x(x_), y(y_) { }
int x = 0;
int y = 0;
};

and would like to be able to access as an array in lua
as well as through x and y properties
So far I have that
auto generator = module.new_usertype<Point>("Point",
                                                             sol::constructors<Point(), Point(int, int)>());
      generator.set("x", sol::property(&Point:x));
      generator.set("y", sol::property(&Point:y));

I tried to declare
namespace sol {
template <>
struct is_container<juce::Point<int>> : std::true_type {};
}

and then It seems to be related to sol::meta_function::pairs
or something like
template <>
struct usertype_container<Point> {

  using value_type = int;
  using size_type = size_t;

  size_type max_size() const noexcept { return 2; }
};

I have seen the examples pairs.cpp but it seems quite complicated especially for a fixed size container
Any pointers ?
Thanks !

The pairs example is what you'll have to do, and that IS the easy version.
The next level up is implementing whatever subset of relevant functions you need to inside the usertype_container specialization, in this list: https://sol2.readthedocs.io/en/latest/containers.html#container-operations
Good luck.

oh boy.
Thanks !


fix(rollups-node): stream-cleanup service

This PR will fix the stream-cleanup oneshot service, that if enabled via STREAM_CLEANUP_ENABLE would break the node.

add redis-tools to sunodo/rollups-node;
stream-cleanup  is not part of content.d/user/;
stream-cleanup  will be added to other services' dependencies when STREAM_CLEANUP_ENABLE env is defined;
this dependency will be added via stage2-hook.sh, so it's detected at s6-rc-compile time, as host-runner;

closing as being done at #293


Questions

Glad my issue about reusing quicklisp-to-nix was noticed.
I have started writing an overlay for Common Lisp in December but there were questions I could not answer myself. Now I think that I overcomplicated stuff. Anyway, here are the things I could not decide on:

Usually we have sevaral .asd files with different systems. Should those be separate nix packages or not?
Should we run tests or they can be ignored?
Systems can have different dependencies on different implementations (noticed in tests, where sbcl has sb-rt and ccl requires rt)

Wonder what your thoughts on these are.
Also, I thought that CL in nix should not depend on quicklisp, having its own package set. But earlier today I had a thought that that could have been too much.
For constructing CL_SOURCE_REGISTRY I had a function similar to the one I found in your code. I have just written a setup-hook to replace that here.
With this mess I wanted to generate package definitions without quicklisp.
Overall my nix knowledge is not really great, and I would love to contribute instead of writing from scratch.

I remember now that I had problems with the old implementation and quicklisp in general, where either I could not download anything from quicklisp for unknown reasons or hashes did not match when using nix

I have started writing an overlay for Common Lisp in December but there were questions I could not answer myself. Now I think that I overcomplicated stuff. Anyway, here are the things I could not decide on:

Welcome to the club - there's also https://git.sr.ht/~remexre/clnix by @remexre
For some weird reason a couple of people start working on a similiar thing at a roughly same time - maybe it's the chakra thing.
Myself, I started writing my own overlay somewhere in September, because I wanted to have lisp wrappers that used libraries which weren't yet in nixpkgs. I found adding them harder than rewriting from scratch. If it's not a secret, what was your motivation?
Yeah, ASDF is pretty complex and has some mutability in the design which shows when using it the Nix way. For example, slashy systems only make sense (to me) if the directory containing the .asd is mutable and things can be compiled as needed. But maybe you disagree?

Usually we have sevaral .asd files with different systems. Should those be separate nix packages or not?

Wall of text ahead.
Let's say a project contains foo.asd and bar.asd. One packages foo as a nix package and places it into the immutable /nix/store. Now loading foo works fine. Later on, one might want to package bar as well. One puts both store paths in the source registry. Now ASDF will, depending on which system appears first in CL_SOURCE_REGISTRY, either try to load foo from ${bar}/foo.asd or from ${foo}/foo.asd, and, load bar from either ${bar}/bar.asd or ${foo}/bar.asd. In the ${bar} case, foo fails and bar succeeds and In the ${foo} case, foo succeeds and bar fails. This is because ${foo} only contains the fasls of foo, and vice versa. Now loading triggers a write attempt to /nix/store to compile the missing fasls.
TLDR: I think they should be separate packages, but with the added invariant that only one, unique .asd file exists per package - which is one solution to the above problem, but maybe there's a better one?

2. Should we run tests or they can be ignored?

ASDF test-op doesn't signal an error on test failure by itself, which has to be done by the package authors. So I'm not aware of any was to sensibly run mass-tests so that CI fails if they don't pass. Maybe one way would be to patch the popular test libraries, and inject them for CI builds?

3. Systems can have different dependencies on different implementations (noticed in tests, where sbcl has sb-rt and ccl requires rt)

If the dependencies are provided by the CL implementation then I think it's fine - the package manager doesn't have to care. But if a library imports different external dependencies per implementation then that's pretty bad IMHO and the difference should be pulled out to a compatibility library. I'm not sure thought if this is what you meant

Also, I thought that CL in nix should not depend on quicklisp, having its own package set. But earlier today I had a thought that that could have been too much.

I think long-term this is what could happen - for now QL is just an easy way to import 1000s of existing libraries into the Nix system. But probably this will not happen, because on Windows QL is still really the only option and will receive maintenance. I haven't really dig into QL that much to talk about any improvements or issues on it.

For constructing CL_SOURCE_REGISTRY I had a function similar to the one I found in your code. I have just written a setup-hook to replace that here.

This seems similiar to the current lispPackages in nixpkgs in that it uses the special /lib/common-lisp directory. I haven't used the setup-hook system that much to have a great understanding though. From what I understand this code will populate the source registry when a script is run. What I did here is also populate the variable but put it in the derivation itself, and by walking the in-memory dependency tree instead of the file system files. I kind of like this approach, primarily because I personally prefer to have more Nix code as opposed to shell code. I don't know it just seems less 'dirty'

With this mess I wanted to generate package definitions without quicklisp.

From what I see you are also loading the systems in order to generate the nix expressions. This has the advantage that you actually know if something builds, but the downside that it takes really long, the generator script has to be written in CL and can't have any dependencies. This is also what's done currently in nixpkgs, and was one of the biggest pain points for me when trying to add new packages - figuring out the cache directory is a mess, plus, I had to have quicklisp actually installed on my computer.
What I went with is kind of different: I discovered two files that are part of QL: releases.txt and systems. All the generator does is consume that data to generate the nix expressions. It's naive in that it relies on the QL data being accurate, but in practice it works really well, so far. The generator is pretty slow right now and it takes a couple of seconds but could be optimized. I have the idea to also generate an SQLite database of the data to run interesting queries on the QL package distribution.
The generator is written in CL, but could be any other language, probably even Nix itself. And Quicklisp doesn't even need to be installed which frees me from having impurity in my setup - i run everything using the lispWithPackages. The nix-cl one is "self-hosted" this way, and here's a bigger example using more native libraries.

The generator tool only works inside of a nix-shell, providing build dependencies for the systems being checked. Do we actually have to build everything before resolving lisp dependencies? We will find out later.

The releases.txt file linked above contains dependency information for each system - with the assumtion that this information is correct, no building has to be done.
But, QL files unfortunalety do not provide such dependency information when something depends on a "slashy" system. Mass-building slashy systems using the nix wrapper seems like a hard problem because of that.

I think I wrote about my motivation in the cl2nix repo. Roughly speaking, I was disappointed by all the options to use CL under NixOS.
I did not want to depend on quicklisp directly, so I decided to use quicklisp-projects repo instead as a list of project names with links to sources. Some links there are broken though, so we still have to pull from quicklisp.
I don't think that I completely understand the issues with the "slashy" systems. Could you elaborate on that?
Not depending on quicklisp made me look for ways to discover dependencies, and as ASDF is the thing that loads everything, it should know how to do what I want, that is what I thought. But of course we need to load the system first. However, load-asd seems to only import metadata without loading and compiling the actual system. Then I get the system object with find-system and work with that.
Could you give an example of a problematic "slashy" system?
I replaced the tree walker (which I also failed to write correctly as I found out later) because I found propagating lisp packages more clean, but that seems subjective to me. And maybe I will not separate systems into different packages, just search for the needed package by its provided systems

Having a look at quicklisp-controller, it seems that :require and :version keys are ignored, but I may be wrong. Also, from what I can tell, quicklisp considers only sbcl contribs important and removes them from dependency list.
Those make me think that indeed such differences can be ignored.
However, quicklisp-controller evaluates :feature expressions in system definitions, so I wonder what it does with those.

Currently reading your source code to get a better idea about the process. Hmm it's kind of cool to treat the asd files as a source of truth about system dependencies etc.

I don't think that I completely understand the issues with the "slashy" systems. Could you elaborate on that?

The problem that I'm trying to work around is that slashy systems end up "providing" the same asd file as their parent system.  They can't be added to a lisp wrapper ad-hoc unless nothing else in the dependency tree depends on the parent system, because if something does, now there's two same-named asds in the source registry again. Currently that's driving me a little crazy, but I've got some ideas on how to at least partially handle it.
Normally with quicklisp you could just load up the slashy system as you need it, but with the lisp wrapper it has to happen ahead of time. I.e. ~/quicklisp can be modified in place but with Nix a new package has to be created for any changes.

Then I get the system object with find-system and work with that.

Ive taken a quick look in the slime inspector - it looks really good, similiar to the stuff from systems.txt. Have to dig deeper at some point.

Could you give an example of a problematic "slashy" system?

Here's one easy example:
Let's say you want to build a lisp wrapper with alexandria+ and alexandria+/tests systems. But ASDF falls over because there's 2 alexandria+.asd's.
This could be easily fixed by merging the systems: building one package which contains fasls of both systems.
If something depends on alexandria+ though, it has to be replaced with the merged version to prevent the same double asd problem. I'm not sure yet how to do that while keeping the integrity of everything.
One particular problem was that nyxt depends on iolib/os. which wasn't declared in the systems.txt from QL. But now with asdf:find-system, I can see that dependency there. Which makes me very happy! There's a chance to combine the workarounds with merging of systems into their parent package. plus the use of .asd as the source of truth to have a good handling of autoimported slashy systems.
If only asdf:find-system could be used without building or requiring the dependent systems to exist on the file system. Maybe its possible, I havent tried.
I still have a lot of thinking to do... this all may not even make sense.

I am still not sure about what dependencies need propagation and how to manage external stuff (LD_LIBRARY_PATH, CPATH, PKG_CONFIG_PATH and friends) correctly.

From my side, for now I just pass LD_LIBRARY_PATH and CLASSPATH down, and haven't had problems - but I'm interested to read how you handle it.
Reply on old quicklisp: I have only used lisp for maybe a year so haven't experienced the old problems.

If only asdf:find-system could be used without building or requiring the dependent systems to exist on the file system. Maybe its possible, I havent tried.

We don't have to build anything. Once .asd is loaded, ASDF knows how to find-system any system defined in the loaded .asd, and that's enough for ASDF to extract all the needed info. Downloading the source is needed, though, to calculate its sha256 hash. The the source is put in the nix store.

Let's say you want to build a lisp wrapper with alexandria+ and alexandria+/tests systems. But ASDF falls over because there's 2 alexandria+.asd's.

I think I get it now. This is where I got stuck, actually. Maybe we could split the entire source into different packages if we track what files each system depends on (and this is at least partly doable with ASDF as far as I have researched this).
However, I decided to not go the package-per-asd way. Instead, all the .asds  are contained in one package and system names are exposed through providedSystems. So to depend on some "slashy" system we can either put its name in the lispInputs attribute, which is used to find the right package through providedSystems and put it in the propagatedBuildInputs, or if we know the right package we can just straight add it to the propagatedBuildInputs ourselves. This seems to me more natural.

From my side, for now I just pass LD_LIBRARY_PATH and CLASSPATH down, and haven't had problems - but I'm interested to read how you handle it.

I'm sure that this works for building packages, but is this enough for using them?

I have only used lisp for maybe a year so haven't experienced the old problems.

I'm not even a programmer (professionally, at least) and my experience with lisp is roughly the same by age I think. I just find CL the most convenient to use when I need something done, and it upsets me that I cannot comfortably use it under NixOS.

There is another approach that might work for slashy systems, that I'll have look at later.
As you can see here, load-asd consumes system name as an optional argument. My assumption is that if we (asdf:load-asd "/A/alexandria.asd" "alexandria") and then likewise load alexandria/tests from another directory, ASDF should indeed look for those systems in different locations.
This could be used to make ASDF aware of required systems instead of using CL_SOURCE_REGISTRY, which can cause duplication as you pointed out.
Nix should also be aware what system name and .asd to pass to the package builder, so the target system and it's corresponding .asd need to be exposed in the package definition.
Builder and lispWithPackages could use an old-style asd-farm to bulk load definitions (ASDF follows links to their corresponding file locations) or load definitions through a dolist expression generated by nix.
Systems like hunchentoot need to be checked here because they define several systems in one .asd.

I'm sure that this works for building packages, but is this enough for using them?

For now I've used a bunch of libraries that use native .so's, such as cl-opengl, cl-liballegro, cl-sqlite, classimp, cffi-libffi. I've been writing a game with that and had no problems. Tried all the CL implementations, and they all seem to find the shared libraries just using LD_LIBRARY_PATH.
Similiar for Java libraries for ABCL, but maybe that's a niche.
osicat was a fun one, because it compiles it's own shared library on build-time, which it then uses on run-time. But it works now, too.

Systems like hunchentoot need to be checked here because they define several systems in one .asd.

Another such case is cl-async-base and cl-async-util defined in cl-async.asd, there's a bunch more, though - mostly "${foo}-test" kind of systems.

Nix should also be aware what system name and .asd to pass to the package builder, so the target system and it's corresponding .asd need to be exposed in the package definition.

I agree, the .asd parameter is also useful to detect duplicates in a lisp wrapper's source registry - and error out before building such a broken derivation

This seems to me more natural.

I agree, this seems more natural and more like the way other Nix code does it. I'll have to experiment with that - the Nix code for parsing lisp dependency trees appears somewhat crazy compared to this.

Builder and lispWithPackages

By lispWithPackages did you mean build-time? Or run-time?

I think I understand, but please correct me if I'm wrong. With this, some lisp code could be run (before starting the repl) to set up ASDF in the way you described, so that people could use load-system transparently. Hmm this sounds good.

In buildPhase we load all the dependencies' asds, then the target asd and call load-system for our target
For lispWithPackages I use makeWrapper, where I set variables and execute lisp code prior to interactive use

By lispWithPackages did you mean build-time? Or run-time?

I mean runtime

I do like the search-by-system-name approach, though. We can just ignore the inner package dependencies, because all asds are in the same path and will be in the source registry anyway when they are needed. And no need to separate system files or produce a ton of duplicate files in the store

I cloned the repo in two places: https://github.com/Symbolics/alexandria-plus
Doing:
* (asdf:load-asd (truename "~/1/alexandria-plus/alexandria+.asd") :name "alexandria+")
* (asdf:load-asd (truename "~/2/alexandria-plus/alexandria+.asd") :name "alexandria+/tests")
* (asdf:system-source-directory :alexandria+)
#P"/home/kpg/1/alexandria-plus/"
* (asdf:system-source-directory :alexandria+/tests)
#P"/home/kpg/1/alexandria-plus/"

Or, if I load the second one first ( in a fresh repl ):
* (asdf:load-asd (truename "~/2/alexandria-plus/alexandria+.asd") :name "alexandria+/tests")
* (asdf:load-asd (truename "~/1/alexandria-plus/alexandria+.asd") :name "alexandria+")
* (asdf:system-source-directory :alexandria+/tests)
#P"/home/kpg/2/alexandria-plus/"
* (asdf:system-source-directory :alexandria+)
#P"/home/kpg/2/alexandria-plus/"

So seems to work for different asd's in one directory, but not for different systems in one asd.

So seems to work for different asd's in one directory, but not for different systems in one asd.

As I said about hunchentoot, it loads everything despite the :name argument. And it seems to keep the first definition it found.

You're right, sorry. Somehow I didn't connect that in my brain

Nix code for parsing lisp dependency trees appears somewhat crazy compared to this

I tried collecting the asds and it seems to require similar crazy nix code.
Have a look at this, this, this and this.
Packages are resolved by system names and then collected through a setup hook.

Have you thought of using the pkgs.setJavaClassPath hook?

Sry for dissapearing, got some stuff IRL
Thanks for the instructions: I ran the code and it works really well - I just had to install nix-prefetch-git for some of the sources.
So for now I understand that about the import mechanism of cl2nix:

uses source code straight from the origin
uses asdf:load-asd and friends to get information about packages, e.g. dependencies

Which is great, because of being independent on Quicklisp.
To download lots of sources can be slow, but that could only be done once and saved in a database or a file - so not really a problem.
And about the setup hooks:

Creates a scope where all the packages exist
Each package passes names of required systems, which are later taken from this scope
CL_SOURCE_REGISTRY is set in a transparent way using the hook script. This uses mkDerivation's propagatedBuildInputs set in step 2. to discover them

Which I haven't played around with yet, but I'm curious if it would somehow make it possible to handle circular dependencies gracefully. Other than that seems like a different implementation of the same idea
When it comes to what I'm up to:

Experimenting with how slashy systems work: in a nutshell, I've been merging them all up into the parent system, replacing the dependency on a derivation with an additional system to load during build. All this to prevent duplicate asd's in CL_SOURCE_REGISTRY
That works well, unless merging the systems' dependencies introduces a circular dependency. Example: merging s-sql with s-sql/tests, which depends on postmodern, yet postmodern depends on s-sql.
I'm trying to figure out how to handle such circular dependencies, which has been quite hard on my brain with the amount of recursion that;s going on.

Another problem is the missing dependency info from systems.txt, which right now makes it necessary to manually add the missing slashy system dependencies. This is where I would steal some of your code.
I'll also want to take a look at the other clnix code, when I have more time
So to briefly summarize what's going on:

Missing dependency info in systems.txt
Duplicate asd's with slashy systems
Circular dependencies with slashy systems

Possible solutions:

Switch from systems.txt to parsing asd's from source code
Merge slashy subsystems into parent
Maybe switch to propagatedBuildInputs?

That works well, unless merging the systems' dependencies introduces a circular dependency. Example: merging s-sql with s-sql/tests, which depends on postmodern, yet postmodern depends on s-sql.

This could be solved by treating projects as packages, not systems. Thus we could just merge all asd dependencies and exclude internal ones. I will experiment with that when I have time

that could only be done once and saved in a database or a file

That's what I want to do but can't find time to implement

This could be solved by treating projects as packages, not systems. Thus we could just merge all asd dependencies and exclude internal ones.

This does sound really good. So one package can provide multiple asd's. Then, if one uniquely named asd exists in any source registry, it still works. I'll experiment myself.

can't find time to implement

haha, me too
Github could use a chat feature for this kind of communication. Or maybe programmers hang out somewhere else I'm not aware of.

This does sound really good. So one package can provide multiple asd's. Then, if one uniquely named asd exists in any source registry, it still works. I'll experiment myself.

See here. I can change this to display a message about systems, for which packages weren't found.

Github could use a chat feature for this kind of communication. Or maybe programmers hang out somewhere else I'm not aware of.

You could dm me in Matrix or we could even start a channel to involve some more people

Updated the resolver to report systems, for which packages were not found.
nix-repl> lp.packages.sbcl.resolveLispInputs [ "alexandria+" ]
error: Packages were not found for systems:
         "alexandria+"

nix-repl> lp.packages.sbcl.resolveLispInputs [ "alexandria+" "hunchentoot" ]
error: Packages were not found for systems:
         "alexandria+", "hunchentoot"

nix-repl> lp.packages.sbcl.resolveLispInputs [ "alexandria" ]
[ «derivation /nix/store/26dryffyy6sz071bjjc7rzqiqybn6fww-alexandria-1.0.1_sbcl-2.1.9.drv» ]

I could not understand from your code if java libs are optional dependencies. They should be included only when running abcl, I think

I could not understand from your code if java libs are optional dependencies. They should be included only when running abcl, I think

Yes, right now they're included for all implementations. The API will stay the same, because initially javaLibs is empty, but you're right that the internals will have to change
This made me remember one interesting topic: C++ libraries for Clasp, which would have to be provided as source code and compiled into the clasp binary: https://clasp-developers.github.io/clbind-doc.html


[BETA] ci: update reference docs

This PR is auto-generated by a nightly GitHub action to update the reference docs from source code in withastro/astro.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

en/reference/configuration-reference.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

This one is still merge-on-release! Waiting for the release of responsive images experimental feature!


server side pagination

hi, currently the pagination is requesting from API for every row in DB and then paginate it. for example, i have 1000 rows in my DB. every time i click on next page it request through API and the API returns the same 1000 rows.
I might have do something wrong here. is there any way to send current page and limit through the API to reduce the loading time of the table ?

hi, In your service, the requestMeta is sent to the server?
export class YourService implements DataSource {
}

interface DataSource {
  getItems(requestMeta: RequestMetadata): Promise<PagedResult>;
  getItem(row: any): Promise<any>;
  post(row: any): Promise<any>;
  put(row: any): Promise<any>;
  delete(row: any): Promise<any>;
  getOptions?(url: string, parentId: any): Promise<any>;
}
export interface RequestMetadata {
  pageMeta: PageMetadata;
  sortMeta: SortMetadata[];
  filters: FilterMetadata;
  globalFilterValue?: string;
}
export interface PagedResult {
  items: any[];
  _meta: PageMetadata;
}
export interface PageMetadata {
  currentPage: number;
  perPage: number;
  totalCount?: number;
  pageCount?: number;
  maxRowCount?: number;
}

sample in C#
        private static string PaginationSorting(string query, int limit, int page, SortMetadata[] sortMeta)
        {
            var rowOffset = (page - 1) * limit;
            var rowCount = page * limit;
            rowOffset = rowOffset + 1;

            var orderClause = CreateOrderClause(sortMeta);

            if (dialect == Dialect.Oracle)
            {
                orderClause = "where rownum <=" + maxRowCount + " " + orderClause;
            }
            else
            {
                orderClause = orderClause + " limit " + maxRowCount;
            }
            var sql = @"select V4.* from (select V3.*, row_number() over(order by 1) as RN
             from (select V2.*, count(*) over() as ROW_CNT
             from (select V1.* from ({0}) V1) V2 {1}) V3) V4
             where V4.RN between {2} and {3}";
            query = string.Format(sql, query, orderClause, rowOffset, rowCount);
            return query;
        }

sql in oracle
select V4.*
  from (select V3.*, row_number() over(order by 1) as RN
          from (select V2.*, count(*) over() as ROW_CNT
                  from (select V1.* from (select * from all_users) V1) V2
                 where rownum <= 500000
                 order by 1) V3) V4
 where V4.RN between 1 and 20


ACR sku need to be Premium if policy "Public network access should be disabled for Container registries" applies

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [x ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Deploy to subscription with this policy set "Public network access should be disabled for Container registries"
Any log messages given by the failure

"message": "{\r\n  "error": {\r\n    "code": "DisablingPublicNetworkAccessNotSupported",\r\n    "message": "Disabling public network access is not supported for the SKU Basic. For more information, please visit https://aka.ms/acr/private-link."\r\n  },\r\n  "status": "Failed"\r\n}",
Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful
Changing Basic to Premium in main.bicep line 8 seems like it will fix.

Thanks! We'll be in touch soon.

Similarly, the app Config free sku seems to have the same problem


Initial MVP Functionality

Problem Statement

I'd like to easily create and install EDA packages into a IC design environment.  They need to be able to include both Python and Cadence SKILL code.  The skill code should be initialized automatically into each Virtuoso session based on the packages in the environment.
Proposed Solution
We should create a wrapper around virtuoso to initialize the skill code

[ ] Create the "sp" (start project) wrapper which initializes the skill environment from Conda any packages contained in a specified Conda environment.
[ ] #2
[ ] Document how to build Conda packages that include SKILL code.
[ ] Document the command line interface

Alternatives Considered

SPAM: This is a package manager written in SKILL.  It has a SKILL interface but does not handle virtual environments.  It is also written in LISP style.
Write a separate package and environment manager in SKILL.
However this seems like a waste since most of the features we're interested in are already implemented in Conda

Proposed Action Plan

[ ] 1. Implement the features in the "Proposed Solution"
[ ] 2. Test each of the features above using Pytest
[ ] 3. Add a workflow for building the package
[ ] 4. Run a manual test of it on a project

Closing to focus my work.
Decided to focus on using vs code as the main user interface.
Some features for proprietary tools will be delayed to focus on open tools.


535507D4 - Raiden Fighters Aces (Japan)

Validation

[x] I've read the FAQ.
[X] The Xenia build used is from a canary branch. (not MLBS/AlexVS/master/pull requests, etc)
[X] This issue isn't for help (tech support) with Xenia, or a game.
[X] I've checked if this game doesn't already have a compatibility report.

Xbox 360 Marketplace link
https://marketplace.xbox.com/ja-jp/Product/RAIDEN-FIGHTERS-ACES/66acd000-77fe-1000-9115-d802535507d4
Xenia version
https://github.com/xenia-project/xenia/commit/6bc3191b97a6799ca8c9d785b6838c29e1ae5043
Issues
For reference, US version reported here on xenia-master: https://github.com/xenia-project/game-compatibility/issues/1783
Aside from a bugfix TU for the Japanese release and some replaced publisher splash screens I'm not aware of any differences between regions but as the title ID is different I thought it'd be worth mentioning.
Similar to that report, the ingame graphics are broken, scrolling in wrong directions and occasional glitched sprites. The player ship can only move up and to the right. This being said, there is improved behaviour compared to master, most noticeably the ship select screens in RF1 and 2 are now visually correct.
Left on it's own, eventually the game freezes in at least Raiden Fighters and Raiden Fighters 2. JET crashes immediately after the name entry screen and triggers an emulator message.
Audio eventually halts completely, more likely to halt when intro splash screens aren't skipped.
I've uploaded two logs, one of a run of Raiden Fighters (Xenia - Copy.zip) and one of the Raiden Fighters JET run that triggered the emulator message (xenia_rfjet.zip). The logs mention unimplemented instructions InstrEmit_addex, InstrEmit_rldicx and InstrEmit_negx.
Log
xenia - Copy.zip
xenia_rfjet.zip
Screenshots

Labels
apu-silent, cpu-unimplemented-instruction, gpu-drawing-corrupt, state-menus

Can confirm that the above mentioned CPU and visual-specific glitches have been solved as of https://github.com/xenia-canary/xenia-canary/commit/335a390d43d3da48272aeafd696918d4370a48f4, tested using latest build https://github.com/xenia-canary/xenia-canary/commit/c1d3e35eb97d8ba65eddebfe62d3321442995716. Thank you to all involved! :)
The game does still suffer from music/sound crashing after random amounts of time, spiking CPU usage to 100% - I'm told this is apparently a known bug across all games in Xenia at present. I'll also note that at least for me, the game does not seem to save progress or configuration settings. Probably also not specific to this game, and compared to what's been resolved I wouldn't call it gamebreaking either.

Hello everyone,
I've just tried Raiden Fighters Aces with the latest Canary Build and I've noticed some improvements regarding audio issues: on first Raiden Fighters audio crashed only on Game Over screen after losing all credits!
RF2 and RF Jet still suffer audio diseappering almost immediately after ship selection but I think new XMA decoder is on the right path, really looking forward to further improvements :D

From my experience, the audio's still real hit and miss.
If I don't put any input in until "Press Start Button" appears the audio's usually already soft-crashed. If I'm quick and spam Start/A to get in game I can usually get into half of the first stage but it'll always eventually stop. AFAIK new XMA decoder's on a separate branch from main canary, and last alpha of it I tried made no difference.

Tested on: https://github.com/xenia-project/xenia/commit/7003e54e510fa2169a9434cdb8d608bff7f7be1e
xenia.zip

game speed tied to FPS, don't disable vsync.

Screenshot

backwards-compatibility-unsupported | state-gameplay | vsync-off-speedup


Add italian translation

Manually checked and edited the italian translation of the app.
This PR once merged will close #142
3 notes:

I tried to respect the format of the original english translation, talking about "\n" and other escape characters. Please double check the format and the spaces in the app before merging this PR (so we can avoid strange simbols in the menus or in the text descriptions of the app, or also cutted descriptions or overflowed texts in buttons)
I encountered some strings with "translatable=false" and I didn't translated the text inside, e.g. <string name="sort" translatable="false">Sort</string>
I tried to not use gender based nouns or verbs and reformulated a bit in those cases to use neutral and more direct form in italian

I would gladly help to translate also the Description of the app for the app stores like Play Store or F-Droid

Nice work, thanks a lot!


Adds the last used query to the output

Minimal addition so one can pick it up from the output to use it again for the next query.
For long term the input field should pick up the last query, what do you think?

:+1: Nice! As far as pulling the last query into the input field, this should probably be exposed as a user setting. But I certainly wouldn't have a problem with it being enabled by default.
I'll merge this and open an issue to add your suggestion. Thank you!