Enable the mmt4d ukernel by default

Following https://github.com/openxla/iree/pull/15571, it is now a 1-line change to change the defaults for which microkernel lowerings we enable as an internal implementation detail, without any change to users' command lines.
This PR changes the default from none to mmt4d, meaning that we enable the ukernel lowering for mmt4d ops and nothing else (other things could be appended in the future, this is a comma-separated list).
This is for now just to help the discussion on DT-by-default, https://github.com/openxla/iree/pull/15256 . This is saying, if the last thing preventing DT-by-default is currently suboptimal codegen for mmt4d ops, we can enable UK for mmt4d so that doesn't affect the default path anymore.

@dcaballe @hanhanW @MaheshRavishankar

@dcaballe Are you OK with this going in?

Discussed with @dcaballe on Discord: https://discord.com/channels/689900678990135345/1146173056537079919/1174050447347155015 .  Let's wait until DT-by-default is ublocked except perhaps by this, to revisit this.

Discussed with @dcaballe on Discord: https://discord.com/channels/689900678990135345/1146173056537079919/1174050447347155015 . Let's wait until DT-by-default is ublocked except perhaps by this, to revisit this.

DT is turned on by default, let's revisit the mmt4d ukernel enablement on default?

DT is turned on by default, let's revisit the mmt4d ukernel enablement on default?

If I can be honest, we are still recovering from the DT enablement so I would appreciate some slack :). We are still dealing with some DT issues and catching up with the work that DT enablement has put on hold (e.g., multi-level tiling and distribution improvements). Prioritizing those landings would be highly appreciated.
I think the two missing features for UK enablement that I can think of are: 1) DT enablement for cases where a UK is not available and, 2) Fall back to performant non-DT path when no efficient UK is available. I think we already have Issues for those so we can look at this once they have been addressed.

DT is turned on by default, let's revisit the mmt4d ukernel enablement on default?

If I can be honest, we are still recovering from the DT enablement so I would appreciate some slack :). We are still dealing with some DT issues and catching up with the work that DT enablement has put on hold (e.g., multi-level tiling and distribution improvements). Prioritizing those landings would be highly appreciated.

That make sense... lets just put this on the docket for the next year. But IMO data tiling without ukernels was a harder lift to land than data tiling + ukernels together. The former had more chances of regressions (and I think we hit a few of those) than the latter which is what was being developed. Those two are decoupled, but they have been evaluated together, so ideally I would have liked to do both, and done data-tiling without ukernels as follow-up. But kudos to everyone for making it happen.

I think the two missing features for UK enablement that I can think of are: 1) DT enablement for cases where a UK is not available and, 2) Fall back to performant non-DT path when no efficient UK is available. I think we already have Issues for those so we can look at this once they have been addressed.

This is a good point. We need to figure out a way for the compiler to know what configuration is backed by ukernels and what is not. Right now if we turn on ukernels for mmt4d, the ones dont really have a ukernel will take a slow path, that is very slow (but having that fallback is great for functionality and robustness, so thats great!). We should find a way to avoid falling into that slow path in ukernels and instead fall back to at least lowering through vector dialect for mmt4d operations (I think it would be too late to go back and undo DT, the layering does not work that way).
@bjacob maybe you have some ideas for this?


Page toc made sticky and scrollable

Addresses #9.
After applying changes

@tbrlpld this one is ready for review now.

After adding padding to the top:

Happy to help

Missing changelog entry for this.

Missing changelog entry for this.

True. Can you open a PR to add it?

I'll do


Run the framework in the stable Rust

We are wating for the stablization of the following features:

Tracking Issue for async_fn_in_trait, return_position_impl_trait_in_trait
Tracking Issue for lazy_cell
Tracking issue for eRFC 2497, "if- and while-let-chains, take 2"
Tracking Issue for result_option_inspect
Tracking issue for #[doc(cfg(…))], #[doc(cfg_hide(…))] and doc_auto_cfg
Tracking issue for RFC 2532, "Associated type defaults"
Tracking issue: declarative macros 2.0
Tracking Issue for Iterator::intersperse

yes!

We will consider using stable rustc when the async-fn-in-trait feature has been stabilized in 1.76.

The latest version can run in the stable rust 1.75 now.


Unable to save job

I can save a job but when I wan't to reopen the job I get:
Unable to laod previous job :( Check logs for more info
Can this be solved?

This seems related to the replot configuration. I see this in the logging:
[INFO]-[2021-07-12.10:23:24]-Staring PSChiaPlotter GUI - PID = 5676
PS C:\Users\hans> [Error][2021-07-12.10:23:39]-106-You cannot call a method on a null-valued expression.
$FoundFinalVolume.OldPlotDirectories.Add($oldplot)
[Error][2021-07-12.10:23:39]-128-The property 'TotalReplotCount' cannot be found on this object. Verify that the property exists and can be set.
$FoundFinalVolume.TotalReplotCount = ($FoundFinalVolume.OldPlotDirectories | Measure-Object -Property PlotCount -Sum).Sum

Thank you for the additional log info I would try to recreate this issue and see what is causing it.


More than 2 Y axes

Any chance at support for more than 2 Y axes? :-)

+1 This would be useful!

+1

+1

+1 would love this feature

Is this supported now?

+1
We need more than 2 y axes very often.

+1
would be very helpful

+1
I am migrating graphs from Jpgraph (PHP) and I didn't find any free project to create a graph with multiple axis like the old lib.... Waiting for c3..........

+1
This is a deal breaker for me.
This lib which also uses d3 seems to manage it. Using that until c3 has this feature.

+1 it's a quite common situation.. waiting for c3js, need to recreate this

Thinking about adding marker + additional tick info. Or even custom svg lines...

+1 for me too

+1
I need to have an additional axis for label purpose.
I ended up using vanilla D3 for this. http://jsfiddle.net/Ea4mT/1/

I see a lot of +1s here and am curious if there are any plans to do this for C3?  Also 👍, very useful

+1

+1

+1

+1

+1

+1
Guys, please implement this feature. We all needed this very badly.
Thanks in advance.

Locking this issue because I'm really sick of people +1'ing it instead of using the emoji or simply subscribing to it.


Add support for deep linking to wallet app when using Connect UI

PR-Codex overview
This PR adds support for deep-linking to specific wallet apps and updates wallet information.
Detailed summary

Added deep-link support for Metamask, Pockie, and more
Updated wallet information for various wallets
Minor changes to wallet-related files and scripts

The following files were skipped due to too many changes: packages/thirdweb/src/wallets/__generated__/wallet-infos.ts, packages/thirdweb/src/wallets/__generated__/wallet-ids.ts, packages/thirdweb/scripts/wallets/generate.ts, packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/AnyWalletConnectUI.tsx, packages/thirdweb/src/react/web/ui/ConnectWallet/Modal/DeepLinkConnectUI.tsx, packages/thirdweb/src/wallets/__generated__/wallet/xyz.bonuz/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/com.neonwallet/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/pub.dg/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/com.icewal/image.ts, packages/thirdweb/src/wallets/__generated__/getWalletInfo.ts, packages/thirdweb/src/wallets/__generated__/wallet/io.shido/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/io.ozonewallet/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/io.myabcwallet/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/com.foxwallet/image.ts, packages/thirdweb/src/wallets/__generated__/wallet/one.metapro.wallet/image.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

/release-pr

/release-pr

TODO - testjam

/release-pr

/release-pr

/release-pr

/release-pr


Added Queuer

Project URL

https://github.com/FabrizioBrancati/Queuer
Description

A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
Why it should be included to awesome-ios (optional)
Is a useful project that helps developers to manage heavy tasks on a queue.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks: )

Link issues by awesome_bot

Line
Status
Link

314
Error
http://oclint.org/  getaddrinfo: Name or service not known

2453
Error
https://iconresizer.com/  Connection refused - connect(2) for "iconresizer.com" port 443

  Generated by :no_entry_sign: Danger

Hey @FabrizioBrancati, nice lib 👍
Thanks for contributing!


Impossible to register (we get a message "you need to be logged in")

Closed by tmlmt/bodegamapvue@93d6583bee7ce5dbbead04ed049f9c28e403ebf0


Make a "tool checker" for first run with feedback option

It's important to get good feedback early, so I suggest we create a "tool checker" to run at first startup for each user, until we stop getting feedback. The idea is this:

At first start up, we try to detect existing installs of the tools we depend on
We list what we find and any assumptions we make
We show the option of either

confirming the detected tools
Creating an issue directly on Github where the user can show what's wrong

This is especially important early on as I expect to see some testing by the Ember community that probably have a large number of different custom setups.
We could also bake this into the "first run" of a new or existing project if we want to avoid a dialog box at launch.

I started work on some checks for install method in 1d574681aee4c7ed0c9162951d0db687d5dd67e9 which I think might be useful. It will allow us to present where we found the installation as well, and maybe over time perform updates through whatever method used initially (for example run brew update for node if it's installed via homebrew.)

Fixed by https://github.com/EmberTown/ember-hearth/commit/b314c14a196fed5f12413374a8e80a5e1f050c96


Show folders first option in components

I believe that having an option for showing folders first would be useful in components especially when sorting items.

It should already be doing this, as there's not really a logical way to sort them otherwise. Are you requesting an option to disable this behavior, or have you found a case where they aren't properly sorted first?

As you can see in the GIF, when I sort name column, folders get lost in the list. I want to be able to show them first even if I do sort alphabetically.

So sorting folders first is the intended behavior, and this should be resolved now as of dev builds >= 3.4.4167


Python client create_metric needs ability to set direction and required_dimension

This ability is available in the UI, but not in the client

Enabled with https://github.com/DataJunction/dj/pull/1066


[red-knot] Make attributes.md test future-proof

Summary
Using typing.Literal breaks as soon as we understand sys.version_info branches, as it's only available in 3.11 and later.
Test Plan
Made sure it didn't fail on my #14759 branch anymore.

typing.Literal was added in 3.8

Oh, you mean LiteralString! Yes, that's correct. Sorry for breaking your branch 🙃

Oh, you mean LiteralString

Yes, thanks!

Sorry for breaking your branch

No worries — I just wanted to pull it out from #14759 which seems big enough already. And I wasn't sure if you'd be okay with the change here.


fix: Update network-policy.md

@rcollette Thanks for this. We just need the DCO to merge:

https://github.com/cdk8s-team/cdk8s/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco
https://github.com/cdk8s-team/cdk8s/pull/972/checks?check_run_id=8257948554

Closing in favor of https://github.com/cdk8s-team/cdk8s-plus/pull/1845
Thanks @rcollette for pointing this out


added the polynomial integral code

Issue #96 -
I have worked on the Polynomial Integral Calculator issue which is #96
Program logic -
So here in the equation ax^n turns into (a/n+1)x^n+1 where n>=0
Screenshots -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

@SarthakKeshari could you please review my Pull request

Hi @mohammedasimahmed,
Kindly take a pull and then push your code, as there are merge conflicts,


Kiosk build should follow multiplayer\skillmap build process

Improve the build system of kiosk app to match multiplayer\skillmap\authcode workflow.

We want the github actions to build the kiosk app and artifacts placed.
Ensure /beta & live sessions for kiosk app.
Configuration is picked from targetconfig and not seperate one.

Let's wait to do this work-item. If kiosk is hugely popular, we would like to do this ensure smooth dev workflow process.

Done except the targetconfig part.

completed.


Support variables for the literals within genbiL

Currently it's not possible to have some dynamics part in genbiL.
The idea is to be a bit more dynamic and support the replacement of literals (placeholder surrounded by simple quotes) by variables.
variable set $filename to 'alpha'
case load file '$filename$.csv';

Will be allowed and interpreted as case load file 'alpha.csv';

Hi @Seddryck,
Has this been implemented somewhere so I can use it (any alpha/beta/release)?
I haven't find any documentation to this, also the syntax mentioned above does not work for me (using the v1.23).
Thanks for any info/advice.

No it hasn't. I'm not working on NBi at this moment and not planning to work on this feature in the upcoming months.


Measurement type recognition

Sorry for keeping you busy @lfoppiano. I'm not sure where exactly to discuss this as it is more of a question than an issue. If this is the wrong place, just let me know.
As I mentioned before, I'm going to add more measurement types to the module. More precisely, I want to identify mass accumulation rates (e.g. g cm^-2 yr^-1) and sedimentation rates (e.g. cm yr^-1).
First I enhanced the unit lexicon with
[
     {
      "notations": [
        {
          "raw": "kg m^-2 yr^-1",
          "product": [
            {
              "base": "g"
            },
            {
              "base": "m",
              "pow": "-2"
            },
            {
              "base": "yr",
              "pow": "-1"
            }
          ]
        },
        {
          "raw": "kg/(m2*yr)",
          "product": [
            {
              "base": "g"
            },
            {
              "base": "m",
              "pow": "-2"
            },
            {
              "base": "yr",
              "pow": "-1"
            }
          ]
        },
        {
          "raw": "kg/m2/yr",
          "product": [
            {
              "base": "g"
            },
            {
              "base": "m",
              "pow": "-2"
            },
            {
              "base": "yr",
              "pow": "-1"
            }
          ]
        }
      ],
      "type": "MASS_ACCUMULATION_RATE",
      "system": "SI_DERIVED",
      "supportsPrefixes": true,
      "names": [
        {
          "lemma": "mass accumulation rate",
          "inflection": "mass accumulation rates"
        }
      ]
    },
    {
      "notations": [
        {
          "raw": "cm yr^-1",
          "product": [
            {
              "prefix": "c",
              "base": "m"
            },
            {
              "base": "yr",
              "pow": "-1"
            }
          ]
        },
        {
          "raw": "cm/yr",
          "product": [
            {
              "prefix": "c",
              "base": "m"
            },
            {
              "base": "yr",
              "pow": "-1"
            }
          ]
        }
      ],
      "type": "SEDIMENTATION_RATE",
      "system": "SI_DERIVED",
      "supportsPrefixes": true,
      "names": [
        {
          "lemma": "sedimentation rate",
          "inflection": "sedimentation rates"
        }
      ]
    }
]

Note, that I also added yr as an inflection
    {
      "type": "TIME",
      "system": "NON_SI",
      "names": [
        {
          "lemma": "year",
          "inflections": [
            "years",
            "yr"
          ]
        }
      ]
    }

Since the generation of training data now works great, I removed the training corpus for the quantities model as a test and replaced it with a single training set covering my use case.
Annotated quantities
<tei xmlns="http://www.tei-c.org/ns/1.0">
  <teiHeader>
    <fileDesc xml:id="_1" />
    <encodingDesc>
      <appInfo>
        <application version="0.6.2" ident="GROBID" when="2021-05-08T10:40+0000">
          <ref target="https://github.com/kermitt2/grobid">A machine learning software for extracting information from scholarly documents</ref>
        </application>
      </appInfo>
    </encodingDesc>
  </teiHeader>
  <text xml:lang="lexicon/en">

They corresponded to sedimentation rates (acc) of <measure type="list"><num>0.45</num> and <num>0.3</num> <measure type="SEDIMENTATION_RATE" unit="cm yr^-1">cm yr-1</measure></measure> (Table 2). Beyond the middle shelf, MAR decreased sharply to <measure type="list"><num>132</num> and <num>44</num> <measure type="MASS_ACCUMULATION_RATE" unit="g m^-2 yr^-1">g m-2 yr-1</measure></measure> at St. 2 (11 S) and St. 8 (12 S), respectively. These latter values are associated with measurable <measure type="value"><num>210</num></measure>Pbxs in the upper <measure type="value"><num>3</num> <measure type="LENGTH" unit="cm">cm</measure></measure> only and thus indicative of sediment winnowing or resuspension, as mentioned above. A relatively low MAR of <measure type="value"><num>128</num> <measure type="MASS_ACCUMULATION_RATE" unit="kg m^-2 yr^-1">kg m-2 yr-1</measure></measure> was also determined for St. 4 at 12 S compared to the neighbouring stations. MAR and acc tended to be higher at the deep oxygenated stations compared to the OMZ stations, with acc of <measure type="value"><num>0.06</num> <measure type="SEDIMENTATION_RATE" unit="cm yr^-1">cm yr-1</measure></measure> at St. 10 (12 S) and <measure type="value"><num>0.05</num> <measure type="SEDIMENTATION_RATE" unit="cm yr^-1">cm yr-1</measure></measure> at St. 5 (11 S). Aluminium accumulation showed similar trends to MAR, with highest values on the shelf and a pronounced increase below the OMZ (Fig. 3b).

  </text>
</tei>

Annotated units
<units xmlns="http://www.tei-c.org/ns/1.0">
  <unit><prefix>c</prefix><base>m</base> <base>yr</base><pow>-1</pow></unit>
  <unit><base>g</base> <base>m</base><pow>-2</pow> <base>yr</base><pow>-1</pow></unit>
  <unit><prefix>c</prefix><base>m</base></unit>
  <unit><prefix>k</prefix><base>g</base> <base>m</base><pow>-2</pow> <base>yr</base><pow>-1</pow></unit>
  <unit><prefix>c</prefix><base>m</base> <base>yr</base><pow>-1</pow></unit>
  <unit><prefix>c</prefix><base>m</base> <base>yr</base><pow>-1</pow></unit>
</units>

Annotated values
<values xmlns="http://www.tei-c.org/ns/1.0">
  <value><number>0.45</number></value>
  <value><number>0.3</number></value>
  <value><number>132</number></value>
  <value><number>44</number></value>
  <value><number>210</number></value>
  <value><number>3</number></value>
  <value><number>128</number></value>
  <value><number>0.06</number></value>
  <value><number>0.05</number></value>
</values>

Here I also noted that to make the generated data available for model training, it's not enough to add the corresponding files to the corpus directories. You also have to use the file ending .tei or .tei.xml (e.g. see the QuantitiesTrainer.java  on line 78). The default training data generation output is .xml. I think I haven't seen any information on that in the docs.
Then I successfully trained all models and tested with web interface. In a first step, it is important to me that the measurements are recognized at all, so I test the corresponding models with the same input that is also used in the training data.
The output is:

As you can see in the web app output, it can handle (recognize and normalize) the different measurements, but I have two problems regarding the recognition of the quantity type:

The quantity type for a mass accumulation rate is not recognized. The type recognition of simple units (I tested with length) works like expected. I'm not sure, what I'm doing wrong.
The type of a sedimentation rate is recognized as a velocity, which is not wrong, since sedimentation rates are velocities. Of course I can label all velocities as sedimentation rates, which would help me for my usecase but the module will loose its generic approach.

Any ideas, what I'm doing wrong?

Dear @thorge thanks for the feedback.
I did not have time to check the whole problem. We might need to do a couple of iteration on this. The Lexicon needs to be improved anyway (#97) and this is a good opportunity.
I checked the process and what you did look fine. Just one question, the notation in the lexicon (JSON file) should contain the "official formula" for the unit. In your case, you have the notation with kg but the product is with g instead of kg, which one should be used?
Meanwhile I will have a deeper look because the data flow it's a bit complicated, due to the complexity and the noise that usually comes with quantities and units recognition.

Dear @lfoppiano thanks for having a look at it.
You're right, it should be only g, otherwise the prefix k should be added to the unit lexicon. I tried different values and must have forgotten to add the prefix. Unfortunately, I get the same results with the correct notation.
Btw, you can find my work in the feature branch of my forked repo.
Regarding the references of the paper. What exactly do you mean exactly? So far I have only worked with text excerpts (.txt) from preprocessed papers. The files are in the test/resources folder of my fork, see test5.txt and test6.txt.

@thorge I will check more in-depth this week. Thanks for the text you used for testing.

Hey @lfoppiano I found out why the labelling of MARs did not work properly. I had to add kg/(s·m²) to the unit lexicon in the notation field and now the recognition works fine.
{
   "raw":"kg/(s·m²)",
   "product":[
      {
         "prefix":"k",
         "base":"g"
      },
      {
         "base":"m",
         "pow":"-2"
      },
      {
         "base":"s",
         "pow":"-1"
      }
   ]
}

Before I had notations like kg m^-2 yr^-1, because I was hoping I could define a normalized unit for MARs using this field, but apparently the derived unit is always normalized using the normalized forms of the subunits, like mass -> kilogram, area -> square meter, and time -> seconds. So in the end a MAR will always be normalized to kg/(s·m²) I guess and that's why I had to add it as well.
For the normalized units of sedimentation rates, which are kind of velocities I still have problems to differentiate between the two. As far as I can see, the first (or last, I'm not sure right now) defined unit in the unit lexicon that matches the normalized unit is used for labeling.

Dear @thorge thanks for the feedback on this issue. I'm trying to spare some time to work on it but it's very difficult at the moment. I've managed to release version 0.7.0 which contains quite a lot of improvements (and, luckily, not many bugs ^^).
The overlapping problem should be solved in issue #96 but prior to that, the lexicon needs to be updated to allow multiple definitions to be returned.
Regarding your question, we used the normalised unit to pull out the unit definition because we use the base normalised units to get the data from the Lexicon.
However, looking at it I think we should use the product form instead of the formula actually used, so that we don't have to use the specific way the normalised units are formatted.

Normally, the fix in 7b957051e4ef2f203ed06db315ec47203d37b0ec should solve the issue of fetching the unit definition with the normalised unit having the superscripts numbers

I'm closing this issue, feel free to reopen if you want me to look more into it.


I try to some highlight nodule data on the image. so how can I highlight some pixel data?

Hello Team,
In my case, I want some highlight the data using some pixel data. If possible, how I can develop. Ohif is existed Brush Tool but I want to draw using pixel data.

@viss3595 what have you tried? What was the expected result versus the actual result? In particular, why does the brush tool not work for you? Have you tried "painting" by updating its internal representation (which is essentially against the pixels)


scrollbar: Change scrollbar color for scrollbars on the left and right sidebar.

The color of all the scrollbars in the app was recently changed (last few weeks). I think this was a great change for the modals, /help page, and other non-main-app scrollbars, but it's too bold for the main logged in page. E.g. typing n causes my eyes to jump to the scrollbar now.
It would be great to just change it back to the previous color, for the Streams, Users, and Group PM scrollbars. (And possibly the Private messages scrollbar, for consistency, though that's on a blue background so leaving it darker is probably fine. Would be great to experiment with both.)

Which color do you want for the scrollbars?

@zulipbot claim

You'll have to jump back a few thousand commits and check what the color was then; I don't think we recorded it. Thanks!

Hi @rishig
This is my first pull request. I have changed the color of scrollbars to blue. Is it fine?

Can you post a screenshot of what the color was from a few thousand commits ago (i.e. a few months ago)?

Can you post a screenshot of what the color was from a few thousand commits ago (i.e. a few months ago)?

Hi @rishig
I tried to search for it using GitLens. Here is the screenshot attached.

@andersk FYI

@zulipbot abandon

@rishig @namannimmo10 is this issue still available? I had seen a PR related to this issue but was not sure about it as it was not merged yet.

Yes. You can work on this issue. Just claim it :)

@zulipbot claim

I am working on this issue as my old issue is complete but its PR is not yet merged. Thanks @namannimmo10

@rishig I have found that the previous color of the sidebar (now simplebar) is hsl(0, 0%, 38%). To change color for some particular page, I have to add an inline style tag or make another class to change its properties. The only problem is that I can't find the exact file to be changed. Can you please tell me about where to look for it.

Closing as scrollbars are no longer colorized, and are generally handled by Simplebar.


bad code gen for recursive, higher order functions

Recursive functions aren't always compiled to javascript functions:
fact = factHelp fact
factHelp f n = if (n < 2) then n else n * f (n-1)

fact compiles to var fact = factHelp(fact);
and throws a runtime error since fact is undefined when it's passed to factHelp.
When the same function not written point free fact' n = factHelp fact' n,
it works as expected and compiles to:
 var fact$ = function (n) {
    return A2(factHelp,fact$,n);
 };

It's also a problem for partially applied point free functions foo x = factHelp (foo x).  But in this case a foo becomes a function that takes 1 argument when it should take 2 and the stack is exhausted.  I think the correct behavior would be to use a variable's type to determine what arity javascript function is generated for the variable.

Centralize this into #873 which describes possible fixes.


Build requires Java 8

Using Java 11 or Java 13, the build is not successful.
➜  TAXII-Server git:(master) ✗ ./gradlew build
> Task :kaptKotlin
Annotation processors discovery from compile classpath is deprecated.
Set 'kapt.includeCompileClasspath = false' to disable discovery.
Run the build with '--info' for more details.
e: /Users/jstewart/dev/TAXII-Server/build/tmp/kapt3/stubs/main/com/github/stephenott/stix/taxii/domain/RequestStatus.java:15: error: invalid method declaration; return type required
        RequestStatus() {
        ^
e: /Users/jstewart/dev/TAXII-Server/build/tmp/kapt3/stubs/main/com/github/stephenott/stix/taxii/domain/RequestStatus.java:27: error: invalid method declaration; return type required
        RequestStatus() {
        ^
w: [kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: javaslang.match.PatternsProcessor (NON_INCREMENTAL).
> Task :kaptKotlin FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':kaptKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 35s
2 actionable tasks: 2 executed

The build does succeed with Java 8

Believed to be Caused by https://youtrack.jetbrains.com/issue/KT-33052


Nuxt dynamic routes defined in module, addRoutes ssr, 404 or Cannot read property 'layout' of undefined error or can't access property "scrollToTop", Page.options is undefined

Good time of the day,
I've encountered pretty strange issue with<EMAIL_ADDRESS>which is the following:
Create module and dynamically load routes
Navigate to page using the sidebar - page works just fine (content displayed, etc)
Copy page url and open it in a new tab - 404, BUT, all the meta data from the breadcrumbs generator is there (it parses the route name and creates entries for breadcrums)
So, technically, nuxt is able to load the page, however, it fails to actually load it (strange wording, but i've no idea on how to describe it better).
Plugins used:
nuxt 2.14.12
nuxt-i18n - all routes are affixed with the ___locale string, so, for example: dashboard___en, dashboard___es, dashboard___ru, etc
In order to dynamically load routes, the following plugin is used (defined under plugins in nuxt.config.js):
import Vue from 'vue';
export default ({ app: { router } }) => {
const routingContext = require.context('../modules', true, /.routing.js$/);
routingContext.keys().map((file) => [file.replace(/(^.\/)|(\.js$)/g, ''), routingContext(file)]).reduce((pluginRoutes, [name, module]) => {
    Vue.use(module, router);
}, {});

};
The routing.js file inside the modules folder looks like this:
import { backendRoute, routeNameGenerator } from '~/libs/helpers';
import config from '~/config';
import forEach from 'lodash.foreach';
import CompanyPage from './pages/company';
export function install (Vue, router, options = {}) {
let routes = [
    {
        path: backendRoute('namespace/module/company'),
        name: routeNameGenerator('namespace.module.company'),
        component: CompanyPage
    }
];

let localizedRoutes = [];

forEach(routes, (route) => {
    forEach(config.application.localization.supportedLocales, (locale) => {
        let modifiedRoute = Object.assign({}, route);
        modifiedRoute.name = route.name + '___' + locale;
        localizedRoutes.push(modifiedRoute);
    });
});

router.addRoutes(localizedRoutes);

}
And the helpers to generate correct route name and route path are the following:
/**

Generate Backend Route
@param { string } path
@returns { string }
*/
export function backendRoute(path) {
let basePath = application.backend_prefix.rtrim('/');
let trimmedPath = path.ltrim('/');
return basePath + '/' + trimmedPath;
}

/**

Generate route name compatible with nuxt
@param routeName
@returns {string}
*/
export function routeNameGenerator(routeName) {
let parts = routeName.split('.');
let backend = application.backend_prefix.replaceAll('/', '');
return [].concat(...[backend], ...parts).join('-');
}
As i've already said, if you are navigating to the dynamically loaded route by actually following the path to the route, it will display the contents, but in case you want to access this route directly, 404 will be thrown but the breadcrumbs will still be generated as the route is kind of loaded, but at the same time it is not.

I've checked the output for the this.$route from the page inside the /pages directory and dynamic page, it is the same (not the paths and names obviously), so at this point i have no idea what is wrong with my way of loading routes.
Any help is really appreciated, and thank you for your time!
P.S. I'm not using @nuxt\router in favor of automatic route generation for files inside the root\pages directory.
Update #1: Sometimes, it will occasionally throw the Cannot read property 'layout' of undefined error

Please prepare a minimal reproduction repo if you want me to look into your problem.
Sorry but this report is a mess and all over the place.
(Also, please mark your code blocks properly with a triple backtick character "```")

Please prepare a minimal reproduction repo if you want me to look into your problem.
Sorry but this report is a mess and all over the place.
(Also, please mark your code blocks properly with a triple backtick character "```")

Added the minimum set of code that is necessary to run and check the dynamic addition of routes, please see
My nuxt.config.js
module.exports = {
  ssr: true,
  mode: 'universal',
  srcDir: __dirname,
  loading: { color: '#007bff' },
    plugins: [
      {src: '~/plugins/route'}
    ],
 modules: [
    "@nuxtjs/axios",
    [
      'nuxt-i18n', {
      parsePages: false,
      pages: {
        contacts: {
          en: '/kont_test2',
          uk: '/kont_test3',
          ru: '/kont_test4',
      }},

      strategy:'prefix_except_default',
      detectBrowserLanguage: {
        useCookie: true,
        cookieKey: 'i18n_redirected',
        alwaysRedirect: true,
        fallbackLocale: 'en'
      },
      vueI18nLoader: true,
      locales: [
        {
          name: 'English',
          code: 'en',
          iso: 'en-US',
          file: 'en.js'
        },
        {
          name: 'Русский',
          code: 'ru',
          iso: 'ru-RU',
          file: 'ru.js'
        },
        {
          name: 'Українська',
          code: 'uk',
          iso: 'uk-UA',
          file: 'uk.js'
        },
      ],

      lazy: true,
      loadLanguagesAsync: true,
      silentTranslationWarn:true,
      langDir: 'locales/',
      defaultLocale: 'ru',

    },
    ],],
  hooks: {
    generate: {
      done (generator) {
        // Copy dist files to public/_nuxt
        if (generator.nuxt.options.dev === false && generator.nuxt.options.mode === 'spa') {
          const publicDir = join(generator.nuxt.options.rootDir, 'public', '_nuxt')
          removeSync(publicDir)
          copySync(join(generator.nuxt.options.generate.dir, '_nuxt'), publicDir)
          copySync(join(generator.nuxt.options.generate.dir, '200.html'), join(publicDir, 'index.html'))
          removeSync(generator.nuxt.options.generate.dir)
        }
      },

    }
  },
  build: {
    extend (config, { isDev, isClient }) {
      config.node = {
        fs: "empty"
      }
    }
  }

}

In the config I add plugin "route", plugins/route.js source code
function interopDefault(promise) {
  return promise.then(m => m.default || m);
}

export default ({app, router, routeres}) => {

  //axios.defaults.baseURL = process.env.apiUrl;
  // console.log(app.router);
  //afterEach

  app.router.beforeEach((to, from, next) => {

    const matched = app.router.getMatchedComponents(to);
    console.log("matched: " + matched.length);
    console.log("to.path: " + to.path);

    let dynamicView = () => interopDefault(import('~pages/post.vue'));

    if (!matched.length) {
      console.log('not-exist');

      app.router.addRoutes([
        {
          path: to.path,
          component: dynamicView,
        }], { override: true });

      next(to.path);

    } else {
      console.log('route exist');
      next()
    }

  })
}

pages/post.vue
<template>

test post page for this path

</template>

Now the code is quite simplified, when checking if (! Matched.length) we add a simple march page "pages / post.vue" and should display the simple text "test post page for this path"
For example, by contacting any url that does not exist, the route should be added.
example.com/other_url
From time to time I see errors:
Cannot read property 'scrollToTop' of undefined (for now)
Cannot read property 'layout' of undefined error (periodically)
404 page not found (periodically)

Added the minimum set of code that is necessary to run and check the dynamic addition of routes, please see
My nuxt.config.js
module.exports = {
  ssr: true,
  mode: 'universal',
  srcDir: __dirname,
  loading: { color: '#007bff' },
    plugins: [
      {src: '~/plugins/route'}
    ],
 modules: [
    "@nuxtjs/axios",
    [
      'nuxt-i18n', {
      parsePages: false,
      pages: {
        contacts: {
          en: '/kont_test2',
          uk: '/kont_test3',
          ru: '/kont_test4',
      }},

      strategy:'prefix_except_default',
      detectBrowserLanguage: {
        useCookie: true,
        cookieKey: 'i18n_redirected',
        alwaysRedirect: true,
        fallbackLocale: 'en'
      },
      vueI18nLoader: true,
      locales: [
        {
          name: 'English',
          code: 'en',
          iso: 'en-US',
          file: 'en.js'
        },
        {
          name: 'Русский',
          code: 'ru',
          iso: 'ru-RU',
          file: 'ru.js'
        },
        {
          name: 'Українська',
          code: 'uk',
          iso: 'uk-UA',
          file: 'uk.js'
        },
      ],

      lazy: true,
      loadLanguagesAsync: true,
      silentTranslationWarn:true,
      langDir: 'locales/',
      defaultLocale: 'ru',

    },
    ],],
  hooks: {
    generate: {
      done (generator) {
        // Copy dist files to public/_nuxt
        if (generator.nuxt.options.dev === false && generator.nuxt.options.mode === 'spa') {
          const publicDir = join(generator.nuxt.options.rootDir, 'public', '_nuxt')
          removeSync(publicDir)
          copySync(join(generator.nuxt.options.generate.dir, '_nuxt'), publicDir)
          copySync(join(generator.nuxt.options.generate.dir, '200.html'), join(publicDir, 'index.html'))
          removeSync(generator.nuxt.options.generate.dir)
        }
      },

    }
  },
  build: {
    extend (config, { isDev, isClient }) {
      config.node = {
        fs: "empty"
      }
    }
  }

}

In the config I add plugin "route", plugins/route.js source code
function interopDefault(promise) {
  return promise.then(m => m.default || m);
}

export default ({app, router, routeres}) => {

  //axios.defaults.baseURL = process.env.apiUrl;
  // console.log(app.router);
  //afterEach

  app.router.beforeEach((to, from, next) => {

    const matched = app.router.getMatchedComponents(to);
    console.log("matched: " + matched.length);
    console.log("to.path: " + to.path);

    let dynamicView = () => interopDefault(import('~pages/post.vue'));

    if (!matched.length) {
      console.log('not-exist');

      app.router.addRoutes([
        {
          path: to.path,
          component: dynamicView,
        }], { override: true });

      next(to.path);

    } else {
      console.log('route exist');
      next()
    }

  })
}

pages/post.vue
<template>

test post page for this path

</template>

Now the code is quite simplified, when checking if (! Matched.length) we add a simple march page "pages / post.vue" and should display the simple text "test post page for this path"
For example, by contacting any url that does not exist, the route should be added.
example.com/other_url
From time to time I see errors:
Cannot read property 'scrollToTop' of undefined (for now)
Cannot read property 'layout' of undefined error (periodically)
404 page not found (periodically)

Sorry but I'm not gonna spend time combining an app from those incomplete blocks that you are providing.
Please create a reproduction on codesandbox for example. I've already started building it at https://codesandbox.io/s/nuxt-nuxt-i18n-issue-1044-ott6x so you can fork and complete it.

Sorry but I'm not gonna spend time combining an app from those incomplete blocks that you are providing.
Please create a reproduction on codesandbox for example. I've already started building it at https://codesandbox.io/s/nuxt-nuxt-i18n-issue-1044-ott6x so you can fork and complete it.

Thank you. I added parts of the missing code.
Link to "codesandbox"
https://codesandbox.io/s/nuxt-nuxt-i18n-issue-1044-forked-0l1g0
At the moment, when you enter any test url, for example "https://0l1g0.sse.codesandbox.io/test_url", you get the error "Cannot read property 'scrollToTop' of undefined"
But I see it works on the latest version of nuxt, if also add a custom "scrollBehavior" to the "nuxt.config.js" configuration,
router: {
     scrollBehavior: function (to, from, savedPosition) {
       return savedPosition
     },

then the error "scrollToTop" disappears. That is, everything is fine.
On previous versions of nuxt 2.12 there was a problem (404 or or Cannot read property 'layout' ), but now I see no problem. But I'm new to nuxt, don't quite understand if I'm overriding the scrollBehavior method correctly, it kinda should be like scroll up. Or perhaps the error lies deeper, and I am doing something wrong # #

Thank you. I added parts of the missing code.
Link to "codesandbox"
https://codesandbox.io/s/nuxt-nuxt-i18n-issue-1044-forked-0l1g0
At the moment, when you enter any test url, for example "https://0l1g0.sse.codesandbox.io/test_url", you get the error "Cannot read property 'scrollToTop' of undefined"
But I see it works on the latest version of nuxt, if also add a custom "scrollBehavior" to the "nuxt.config.js" configuration,
router: {
     scrollBehavior: function (to, from, savedPosition) {
       return savedPosition
     },

then the error "scrollToTop" disappears. That is, everything is fine.
On previous versions of nuxt 2.12 there was a problem (404 or or Cannot read property 'layout' ), but now I see no problem. But I'm new to nuxt, don't quite understand if I'm overriding the scrollBehavior method correctly, it kinda should be like scroll up. Or perhaps the error lies deeper, and I am doing something wrong # #

This problem doesn't look nuxt-i18n related. If you disable this module you'll have the same issue.
I'm not sure what's the exact problem but it looks like this import is not resolved properly on the client-side:
let dynamicView = () => interopDefault(import("~/pages/post.vue"));

This problem doesn't look nuxt-i18n related. If you disable this module you'll have the same issue.
I'm not sure what's the exact problem but it looks like this import is not resolved properly on the client-side:
let dynamicView = () => interopDefault(import("~/pages/post.vue"));


bump wgpu-core

You could try bumping to a more recent version of the manylinux standard.
I would suggest referencing the table here, and climbing up version by version until it works.
Generally speaking, older means more systems will be supported, but yeah, it seems logical that that would clash with M1 requirements :)

manylinux_2_24 was so close (3.8 instead of 3.9)! It's also Debian instead of CentOS, so maybe I'll have more luck getting it to install a newer version of clang.


Chapter 2 - Page111 missing codes: cross validation using RandomForestRegressor()

Page111 missing codes: cross validation using RandomForestRegressor()

Hi @bigcindy ,
The books contains this:
>>> from sklearn.ensemble import RandomForestRegressor
>>> forest_reg = RandomForestRegressor()
>>> forest_reg.fit(housing_prepared, housing_labels)
>>> [...]
>>> forest_rmse
18603.515021376355

The ellipsis ([...]) implies that I left this part out on purpose. It's just identical to the cross validation we did for other models, so it would be boring to repeat it once more. In the book, I left out several repetitive or unimportant details, to keep the focus on the important parts of the code. If you're ever lost or you want to see every single detail, simply check out the Jupyter notebooks.
Hope this helps.


Update Mac OS PHP installation instructions

The homebrew/php repository has been deprecated, and php formulae have been moved to homebrew-core

Thanks!


Check integrations and update them to log params

E.g. in the Lighting logger there is call:
    @rank_zero_only
    def log_hyperparams(self, params, *args, **kwargs):
        pass

should we utilize it to automatically track things?

should we utilize it to automatically track things?

Yes, we should use log_params there

Examples of logging parameters in other frameworks:

fast.ai
huggingface

I would suggest we prioritize at the same time as #305 since it's part of the same story (auto logging everything from the framework callbacks).


SQL Parsing fails

related to #337
SQL does not parse any more, probably since attempt to detect database link @ in table name
select *
from
<EMAIL_ADDRESS>where
DMO_MSISDN >= :SQLT_STR_MSISDN
and
DMO_MSISDN <= :SQLT_STR_MSISDN_2

@stoch it works if you add quotes to table name.

Quotes around the whole name are not tolerated by Oracle (name too long) but this works:
select *
from
SIS_DS_ADMIN.TAB_MOBILE@ "SIS.EXASTAG.PIOSCS"
where
DMO_MSISDN >= :SQLT_STR_MSISDN
and
DMO_MSISDN <= :SQLT_STR_MSISDN_2
@c-bik Question: Can we support fully qualified DB link names without quotes?

@stoch It seems #338 and #337 are now reduced into "DBLink support in sqlparse". Can you please close these issues in DDerl and transfer into one relevant issue in sqlparse?

@c-bik #337 is a problem with the fallback regexp in dderl as it is taking the >= as part of the parameter name. This one I will move to sqlparse.


openssl patch parallel

https://github.com/winlinvip/simple-rtmp-server/issues/86

Fixed in SRS3.


contribution, fixed wrong npm script name in Contributing doc 🤓

What kind of change does this PR introduce?
was going through steps in Contributing.md, find that one instruction was't working :)
so fixed wrong npm script in Contributing doc

Checklist:

[x] Unit Tests
[x] Documentation
[x] Update CHANGELOG.md
[x] Ready to be merged

Thanks.


Equivalent migration of chunkFilename for v5

Feature request

What is the expected behavior?
Like in v4, for dev, to be able to name chunks with their chunkhash and adding a suffix. For example, the following v4 config makes the chunk names shown in the image below.
output: {
  chunkFilename: `[name]-[chunkhash]-chunk.js`
},
optimization: {
  runtimeChunk: 'single',
    splitChunks: {
      cacheGroups: ['node_modules', 'card', 'entry'].reduce((acc, dir) => {
        acc[dir] = {
          test: RegExp(dir),
          name: dir,
          chunks: 'initial',
          enforce: true
       };
       return acc;
     }, {})
   }
}

What is motivation or use case for adding/changing the behavior?
To speed up incremental reloads by caching the hand-picked directories. For example, in WebpackDevServer:
before(app) {
  app.use('/*-chunk.js', (_, response, next) => {
    response.set('Cache-Control', 'max-age=31536000');
    next();
  });
}

How should this be implemented in your opinion?
I'm not familiar with v5, but hopefully like in v4.
Are you willing to work on this yourself?
Testing

It is breaking change, please use https://webpack.js.org/plugins/split-chunks-plugin/#splitchunkscachegroupscachegroupfilename

Thank you @alexander-akait.
If you don't mind, using filename works, but partially because now main doesn't get the hash.
I removed the no longer needed chunkFilename and added
splitChunks: {
  filename: '[name]-[chunkhash]-chunk.js',
}

I tried adding it to 'default', 'commons', and 'main' cache groups but it doesn't change it


When do you plan to support the Module Federation ？

Ask your Question

I want to know your plan for module Federation, which is very important for react native to dynamically load third-party applications

The ETA for Module Federation is still unknown. We're focusing on Code Splitting in form of async chunks first, as the infrastructure for supporting async chunks and Module Federation is almost the same, so we have to establish a solid foundation before going into deep water with Module Federation.
That being said, it is possible to dynamically load third-party applications even without code splitting. It requires some deeper knowledge about Webpack but it's possible with some caveats:

Dynamically loaded application cannot add any native code (which is true for both async chunks and Module Federation).
A common/shared dependencies like React, React Native + any other public API has to be extracted into separate NPM package and built with Webpack + Re.Pack as a library.
Each 3rd party application uses the aforementioned library, any other dependency is built into the 3rd party application (so it's possible to have a duplicated code - tradeoff) and is built using Webpack + Re.Pack as a library. Each 3rd party application can use a limited set of native APIs (only the ones available in host application).
The host application, load the 3rd party application using ChunkManager.loadChunk. The 3rd party application, is not actually a chunk, but it doesn't matter. ChunkManager.loadChunk will work for any kind of JS code.

That's the gist of it.
It would be good to have this as an example. If anyone want's to give it a try, feel free to reach out to me.

The Module Federation support is still in early stages, but the core functionality is working in development mode - production mode might work might not.
https://github.com/zamotany/module-federation-repack

Amazing work! Have you thought about the dashboard when using federation? It would be great to have a single dashboard that monitors all repack processes.

Hey! We know the ETA now and it's June 2022. @zamotany will work to make this feature production ready in May and June (if necessary) as a part of our R&D efforts at Callstack. Stay tuned :)

I owe you some update: the bulk of work is done and available under the next tag on npm (v3.0.0-alpha.6 at the time).
There's an example you can follow: https://github.com/callstack/repack-examples/tree/main/module-federation
But we still miss the migration guides, polishing, and proofing this in real projects. That's why the stable v3 will have to wait a bit long. How long? That's what @jbinda will be able to tell next month :)

Official Module Federation support was released in 3.0.0 version of repack.


Carthage not working

I can copy the Async.swift file into my project and it builds just fine in my project. However when I delete async.swift and try to include the framework using Carthage, it doesn't build. I get lots of warnings and one error "Use of unresolved identifier 'Async'". The headers in the Async.framework do not have a reference to Async.

Well, I added the framework to another project and removed the Async.swift file and it builds just fine. While I don't understand the .h files, I can't argue with the fact that it builds. So I must have something screwed up in my first project that is causing the problem. Not sure where to look...

I finally fixed the problem. I didn't have all my project settings configured correctly.


Deprecate CredentialIssuer status.kubeConfigInfo field and rename to status.tokenCredentialRequestAPIInfo

In the Pinniped Concierge, the discovered API endpoint and CA certificate are currently published in the status.kubeConfigInfo field of the CredentialIssuer API:
// Status of a credential issuer.
type CredentialIssuerStatus struct {
	// List of integration strategies that were attempted by Pinniped.
	Strategies []CredentialIssuerStrategy `json:"strategies"`

	// Information needed to form a valid Pinniped-based kubeconfig using the TokenCredentialRequest API.
	// +optional
	KubeConfigInfo *CredentialIssuerKubeConfigInfo `json:"kubeConfigInfo,omitempty"`

	// Information needed to form a valid Pinniped-based kubeconfig using the impersonation proxy.
	// +optional
	ImpersonationProxyInfo *CredentialIssuerImpersonationProxyInfo `json:"impersonationProxyInfo,omitempty"`
}

// Information needed to connect to the TokenCredentialRequest API on this cluster.
type CredentialIssuerKubeConfigInfo struct {
	// The Kubernetes API server URL.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^https://|^http://`
	Server string `json:"server"`

	// The Kubernetes API server CA bundle.
	// +kubebuilder:validation:MinLength=1
	CertificateAuthorityData string `json:"certificateAuthorityData"`
}

The name is confusing now that we've added the impersonation proxy strategy, since kubeConfigInfo only describes how to use the TokenCredentialRequest API, not actually how to connect to the cluster (which is in status.impersonationProxyInfo in those cases).
We should make some small tweaks to this API over a two-release window:

In v0.7.0:

Introduce a new field status.tokenCredentialRequestAPIInfo that contains the same member fields and is basically a copy of status.kubeConfigInfo.
Deprecate the status.kubeConfigInfo field (but keep populating it).

In v0.8.0:

Remove the  status.kubeConfigInfo field.

Other Ideas
We have longer-term plans to perhaps move this data into the authenticator CRD's, but that's not in scope for this issue. We might also reorganize how the data is structured (see the design doc for notes).

Another option we discussed is to move these status fields under the strategies array as tagged union-style fields of CredentialIssuerStrategy. We think this is a nicer API but might take a bit more work to implement.


Changing the filter in the project view does not reset the paging parameters

Say I am on the third page of the unfiltered project view (something like .../ui/projects?sort=name+asc&limit=100&offset=200) and I select a namespace to filter by.  The resulting url is .../ui/projects?namespace_id=5&sort=name+asc&limit=100&offset=200.  If there is no third page then the result is:

Note the Showing 201 to 53 of 53 records.  Also clicking on the page number in the lower right does take you to the first page.

This is resolved with the change in 0.15 to move to OpenSearch and remove paging.


Change "map of lambda" pattern to list comprehensions throughout the codebase

There are many places in the cccatalog codebase where the following pattern is used:
L = list(map(lambda img: getMetaData(img), result))

We should replace this pattern with a list comprehension
L = [getMetaData(img) for img in result]

wherever feasible.
In cases where the lazy evaluation of the first pattern is necessary or desired, we should consider replacing it with a generator comprehension.
The first pattern shown is less performant than using a list comprehension in Python.  Further, list comprehensions are generally considered more 'pythonic' in most cases, and therefore more readable by the python community.

For Provider API scripts, this will be addressed by the Provider API Script rewrites.
See #238 #247 #252 #253 #254 #255 #256
For the Common Crawl scripts, we'll have to wait to address this

Hello! Can I work on this issue?

@Mishrasubha Please see my previous comment; this issue isn't in a state to be worked on at the moment.  In fact, I'll close the issue to avoid further confusion.


Added Recipe page and did the required changes.

=================Changed the Name of Tab in Nav bar From To Gallery Recipes====================
Sinces its a recipe website as I suggested the name is changed from gallery to recipe.

===============================Updated the Recipe Cards=============================
I have updated the cards so that they look pretty and pleasing to the eye and the users will love using them also they are interactive. When you click on the card a popup window appears which displays the recipe for the dish.

**================Also Added a popup window which displays Cooking recipe=======================**
This is how the popup window looks like and here the recipe of the dish will be displayed

@hackkbee your code is good but have some conflict please resolve it.

@hackkbee your code is good but have some conflict please resolve it.

Please can you explain the conflicts in detail?
Because I have already the required changes in the mentioned conflicting files

The conflicts have been already solved please can you recheck

@hackkbee can you please do it again from staring .

@hackkbee your code is good and it has level 3 type changes but conflict is not resolving can you please do changes again and then make a pull request as soon as possible .

Okay I will make the changes
On Thu, 10 Aug, 2023, 7:05 pm Anup kumar jha, @.***>
wrote:

@hackkbee https://github.com/hackkbee your code is good and it has
level 3 type changes but conflict is not resolving can you please do
changes again and then make a pull request as soon as possible .
—
Reply to this email directly, view it on GitHub
https://github.com/Anupkjha2601/food-recipes-website/pull/675#issuecomment-1673238505,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV6CIEISF47MNBYPSVNQQY3XUTPR3ANCNFSM6AAAAAA27OG2UQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@hackkbee so sorry but time is over now, they were not counting label after 10 August.


Added a name and version to package.json so it will get further in the install process on windows.

Yo!
create-react-app is an awesome tool, thanks for making it!
I tried to install it on Windows in Git Shell with the command npm -g i create-react-app, but ran into the following error:
~/Desktop/code$ npm install -g create-react-app
npm ERR! addLocal Could not install C:\users\ryan\Desktop\code\create-react-app
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "create-react-app"
npm ERR! node v6.10.1
npm ERR! npm  v3.10.10

npm ERR! No name provided in package.json
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\users\ryan\Desktop\code\npm-debug.log
~/Desktop/code$ which npm
/c/Program Files/nodejs/npm

I forked the repo and added a name field in the create-react-app package.json
~/Desktop/code/create-react-app-fjdlkasjfls$ npm install -g git+ssh://git@github.com:ryanhugh/create-react-app.git
npm ERR! addLocal Could not install C:\Users\Ryan\AppData\Local\Temp\npm-11812-31970819\git-cache-df4a41b4\4ac9e27b0fed5d716289fe935337006c79d4ba62
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "git+ssh://git@github.com:ryanhugh/create-react-app.git"
npm ERR! node v6.10.1
npm ERR! npm  v3.10.10

npm ERR! No version provided in package.json
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\users\ryan\Desktop\code\create-react-app-fjdlkasjfls\npm-debug.log
~/Desktop/code/create-react-app-fjdlkasjfls$

Fixed that error by adding a version field to the package.json. Looks like name and version should be present in a package.json (link 1, link 2)
After those changes then got this error.
~/appdata/roaming/npm$ npm install -g git+ssh://git@github.com:ryanhugh/create-react-app.git

><EMAIL_ADDRESS>postinstall C:\Users\Ryan\AppData\Roaming\npm\node_modules\create-react-app
> lerna bootstrap

fatal: Not a git repository (or any of the parent directories): .git
Initializing Git repository.
Lerna v2.0.0-beta.38
Independent Versioning Mode
Bootstrapping 5 packages
Preinstalling packages
Installing external dependencies
NpmUtilities.installInDir     ("C:\\Users\\Ryan\\AppData\\Roaming\\npm\\node_modules\\create-react-app\\packages\\babel-preset-reac...)
Command exited with status 1: npm install
Errored while running BootstrapCommand.execute
Command exited with status 1: npm install
Waiting for 3 child processes to exit. CTRL-C to exit immediately.
NpmUtilities.installInDir     ("C:\\Users\\Ryan\\AppData\\Roaming\\npm\\node_modules\\create-react-app\\packages\\create-react-app"...)
Command exited with status 1: npm install
NpmUtilities.installInDir     ("C:\\Users\\Ryan\\AppData\\Roaming\\npm\\node_modules\\create-react-app\\packages\\react-dev-utils",...)
Command exited with status 1: npm install
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "git+ssh://git@github.com:ryanhugh/create-react-app.git"
npm ERR! node v6.10.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `lerna bootstrap`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'lerna bootstrap'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the create-react-app package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     lerna bootstrap
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs create-react-app
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls create-react-app
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\users\ryan\appdata\roaming\npm\npm-debug.log

Unsure what the best way to solve that is, but I bypassed that error by cd'ing to the directory where npm installs packages globally and running npm install without the global flag.
cd ~/appdata/roaming/npm
npm install create-react-app # Note: no --global

Output:
~/appdata/roaming/npm$ npm install git+ssh://git@github.com:ryanhugh/create-react-app.git

><EMAIL_ADDRESS>postinstall C:\users\ryan\appdata\roaming\npm\node_modules\create-react-app
> lerna bootstrap

fatal: Not a git repository (or any of the parent directories): .git
Initializing Git repository.
Lerna v2.0.0-beta.38
Independent Versioning Mode
Bootstrapping 5 packages
Preinstalling packages
Installing external dependencies
Symlinking packages and binaries
Postinstalling packages
Prepublishing packages
Successfully bootstrapped 5 packages.
C:\users\ryan\appdata\roaming\npm
`--<EMAIL_ADDRESS><EMAIL_ADDRESS>
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\babel-cli\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\forever\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\karma\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN enoent ENOENT: no such file or directory, open 'C:\users\ryan\appdata\roaming\npm\package.json'
npm WARN npm No description
npm WARN npm No repository field.
npm WARN npm No README data
npm WARN npm No license field.
~/appdata/roaming/npm$

Hi! Thanks for the PR, but the root package.json purposely does not have a name (nor version) field as this is a independently versioned monorepo.
npm install -g create-react-app works fine for me, are you using a npm mirror or something?
You can try running npm cache clean followed by the global install once more.
Please open an issue to further diagnose this problem.

I think this was a bug specific to Git Bash on Windows. I tried it on a Mac earlier today and it worked perfectly. Just installed it with CMD on Windows and it also worked. If anyone else is having problems try installing with CMD instead of Git Bash and/or renaming ~/appdata/roaming/npm to something else temporarily. Windows... :/

I use this on Git Bash on Windows (at work) and it works. npm cache clean should work better than ~/appdata/roaming/npm.
This PR, however, wouldn't of solved the error you were experiencing. The root package.json isn't present in any of our published packages. 😅

lol!
Thanks for the help!


More efficient A record (un)packing

The generic struct pack and unpack routines make heavy use of reflection to correctly translate between bytes and Go objects.
Given most questions and answers are A records, writing a specific A record packer/unpacker makes the fast path quicker and generates significantly less garbage.
The pack and unpack routines for specific data types were extracted from the generic routine so that they may be shared with the optimised routines.
Results of go test -bench \(Unp\|P\)ackRRA

Benchmark
Iterations
ns/op
B/op
allocs/op

BenchmarkPackRRA (before)
2000000
688 ns/op
112 B/op
7 allocs/op

BenchmarkPackRRA (after)
20000000
85.9 ns/op
0 B/op
0 allocs/op

BenchmarkUnpackRRA (before)
1000000
1443 ns/op
272 B/op
12 allocs/op

BenchmarkUnpackRRA (after)
5000000
290 ns/op
128 B/op
4 allocs/op

PackA (accepting type A) makes total sense. The IPv4 packer currently named packA could be packIPv4 instead.

Yep. Trick question: can these pack functions be auto generated? Just like
the other methods on rr types?
On 23 Nov 2015 13:27, "Chris Branch"<EMAIL_ADDRESS>wrote:

PackA (accepting type A) makes total sense. The IPv4 packer currently
named packA could be packIPv4 instead.
—
Reply to this email directly or view it on GitHub
https://github.com/miekg/dns/pull/285#issuecomment-158933216.

They can be autogenerated, except:
the generator looks only at structs beginning with RR_Header. It would have to change to those structs implementing the RR interface, so we can generate RR_Header too.
for simplicity and consistency, the compression data needed by PackDomainName should probably be stored in a 'packerContext' accepted by all Pack methods, instead of handling the cases where compression data either is required or not.
from experience, debugging a code generator is harder than debugging code; it's better to get a single 'expected case' done by hand before you try doing the rest :)
+1 to the idea, save it for a rainy day!

True. Can you rework this pr be a method on the A rr? (I'm on holiday so
not really responsive ATM)
On 25 Nov 2015 15:07, "Chris Branch"<EMAIL_ADDRESS>wrote:

They can be autogenerated, except:
the generator looks only at structs beginning with RR_Header. It would
have to change to those structs implementing the RR interface, so we can
generate RR_Header too. for simplicity and consistency, the compression
data needed by PackDomainName should probably be stored in a
'packerContext' accepted by all Pack methods, instead of handling the cases
where compression data either is required or not. from experience,
debugging a code generator is harder than debugging code; it's better to
get a single 'expected case' done by hand before you try doing the rest :)
+1 to the idea, save it for a rainy day!
—
Reply to this email directly or view it on GitHub
https://github.com/miekg/dns/pull/285#issuecomment-159635123.

Sure!

Is there anything else that needs to be done to this PR?

[ Quoting<EMAIL_ADDRESS>in "Re: [dns] More efficient A record (..." ]

Is there anything else that needs to be done to this PR?

Dunno... didn't have to time to recheck it. Will do that this evening (UTC).
Thanks for you work!
/Miek
--
Miek Gieben

Just to re-iterate on this. A long time ago I've added a branch that did away with all the reflection and used a per-record Pack/Unpack function. End result: not faster, so I've abandoned the effort. (don't know if this still lives somewhere in the git history).
Also a second concern is that this reflection-based (un)packer has been battle tested on the internet and has seem numerous updates. It is somewhat wasteful to put it aside and use a brand new code.
I'm pondering keeping this as a branch of some sorts, or something... dunno yet. Real life benchmarks would help, i.e 2 servers and something as plain of dnsperf (or something?)

"Real life benchmarks would help, i.e 2 servers and something as plain of dnsperf (or something?)"
I spent some time on this today.  I've got both golang benchmark data, and dnsperf data.
As I outline what I have here I want to share my testing set up.   In some ways optimal, and others not.
host information
Hypervisor:

2x: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz,  HT enabled.
Translation: 12 cores total
Translation: 24 "cpu" (hyper threading is enabled on this host), each claiming 1239.375 mhz.

Traffic Generator:

VM with 4 "CPUs" allocated
Happens to be my actual name server, which is usually idle.
Running yes "whoami.miek.nl. A" | dnsperf -s HOSTNAME -p 8100  -l 120
Traffic Sync
VM with 4 "CPUs" allocated
Happens to be a general purpose server, where I do some development.  Also usually idle.
Running variants of Miek's reflect
Network:
kvm to kvm, same host - no physical interface.

Ideally, I'd take the time to carve out more dedicated VMs; but .. I'm stealing time where I can to get this done.  Take it all with a grain of salt.  All load tests are done for 2 minutes each, with several minute separation; and 3 tests total for each scenario.  Hopefully this should give some view of host repeatability.
All code is at https://github.com/jfesler/benchmark_golang_dns .
dnsperf
test information
I've taken Miek's "reflect" (from github.com/miekg/exdns) as a starting point as something relatively simple, straightforward, and also reflective of what someone might want to do for simple projects.
I'm using today's version of github.com/miekg/dns and github.com/miekg/exdns/reflect .
4 scenarios are tested:

scenario
description

reflect_t1_stock
stock dns, stock reflect, port 8100

reflect_t1p_stock
patched dns, stock reflect, port 8101

reflect_t2_notxt
stock dns, reflect has "TXT" removed (and related variables), port 8200

reflect_t2p_notxt
patched dns, reflect has "TXT" removed (and related variables), port 8200

data

scenario
qps
average

reflect_t1_stock
72761, 73253, 72528
72847

reflect_t1p_stock
76906, 78539, 78909
78118

reflect_t2_notxt
84428, 84679, 84618
84575

reflect_t2p_notxt
90532, 93696, 91484
91904

Observation
reflect_t1p_stock > reflect_t1_stock by 7.2% in terms of queries per second.
reflect_t2p_notxt > reflect_t2_notxt by 8.7% in terms of queries per second.
golang benchmarks
I wanted to take what @cbranch did, and go a lot further.
I'm testing not just RR pack/unpack, but also message packing/unpacking.  Why benchmark this?  I feel this gives a better understanding of what people actually will do with the library.  Load seem stuff into the structure, and either WriteMsg  (or PackMsg and Write).   How much does improving a single RR help the overall message time?
I'm doing all benchmarks with both the patched and stock version of Miek's DNS library compiled in; and the code selects which is in use.
Chris's original benchmarks for RR
We'll start off with Chris's benchmarks on my hardware.  The names are slightly different but the intent is the same.  My numbers vary with Chris's, presumably due to hardware differences.
BenchmarkRRPackAStock-4        	10000000	      1395 ns/op	     112 B/op	       7 allocs/op
BenchmarkRRPackAPatched-4      	100000000	       107 ns/op	       0 B/op	       0 allocs/op
BenchmarkRRUnpackAStock-4      	 5000000	      2557 ns/op	     272 B/op	      12 allocs/op
BenchmarkRRUnpackAPatched-4    	30000000	       594 ns/op	     128 B/op	       4 allocs/op

And IPv6 (AAAA) added in as well.   Almost 40% of the requests to my DNS servers, are for AAAA records - making this record type pretty important.
BenchmarkRRPackAAAAStock-4     	 1000000	      1435 ns/op	     112 B/op	       7 allocs/op
BenchmarkRRPackAAAAPatched-4   	10000000	       117 ns/op	       0 B/op	       0 allocs/op
BenchmarkRRUnpackAAAAStock-4   	  500000	      2757 ns/op	     272 B/op	      12 allocs/op
BenchmarkRRUnpackAAAAPatched-4 	 2000000	       627 ns/op	     128 B/op	       4 allocs/op

Message Packing Benchmarks
BenchmarkMsgPackAStock-4       	 5000000	      3624 ns/op	     336 B/op	      18 allocs/op
BenchmarkMsgPackAPatched-4     	10000000	      2380 ns/op	     224 B/op	      11 allocs/op
BenchmarkMsgPackAAAAStock-4    	 5000000	      3898 ns/op	     352 B/op	      18 allocs/op
BenchmarkMsgPackAAAAPatched-4  	 5000000	      2397 ns/op	     224 B/op	      11 allocs/op
BenchmarkMsgPackTXTStock-4     	 3000000	      4770 ns/op	    1536 B/op	      20 allocs/op
BenchmarkMsgPackTXTPatched-4   	 3000000	      4763 ns/op	    1536 B/op	      20 allocs/op

Message Unpacking Benchmarks
BenchmarkMsgUnpackAStock-4     	 3000000	      4701 ns/op	     400 B/op	      18 allocs/op
BenchmarkMsgUnpackAPatched-4   	 5000000	      2537 ns/op	     256 B/op	      10 allocs/op
BenchmarkMsgUnpackAAAAStock-4  	 3000000	      4488 ns/op	     400 B/op	      18 allocs/op
BenchmarkMsgUnpackAAAAPatched-4	 5000000	      2506 ns/op	     256 B/op	      10 allocs/op
BenchmarkMsgUnpackTXTStock-4   	 3000000	      5097 ns/op	     432 B/op	      20 allocs/op
BenchmarkMsgUnpackTXTPatched-4 	 3000000	      4898 ns/op	     416 B/op	      19 allocs/op

Observation
Even at a per-message level, the numbers are quite impressive.   Between a third to a half of the CPU cost in "Pack" and "Unpack" can be saved.  How much this affects a given app, is debatable - which is why I include data for dnsperf + reflect for consideration.

Type
Pack Savings
Unpack Savings

A
34.3%
46.0%

AAAA
38.5%
44.2%

TXT
-
3.9%

Very nice! Thanks.
I double check this PR today and see how we can gradually move away from reflection.

So... I've slowly started to incorporate some of this the no-reflect branch, where:
msg_types.go: contains all pack/unpack functions for all types we have (just started, only does A and AAAA)
msg_util.go: helper functions, some from this PR.
It should no be too hard (but still a lot of work). But my plan would be to write a msg_generate.go (in the same vain as types_generate.go that generates a zmsg.go when building.

Ok, my no-reflect branch contains more bits (except actual packing/unpacking), but with it we can disable reflection on a per type basis and the methods are generated from msg_generate.go.
Stuff still doesn't work, but now it is just more filling in the blanks (I hope)

@cbranch are you willing to take it from that no-reflect branch? I liberally copied from your PR anyway. As said, I think my pieces are in place to make go dns reflectionless and generate packers/unpackers.
Side note: maybe unpack() should be in the RR interface as well, just as pack is right now.

Sure thing. I'd like to get an improved benchmark for the different record types too, before starting - A records just happened to be the fast path for our (proprietary) application.

[ Quoting<EMAIL_ADDRESS>in "Re: [dns] More efficient A record (..." ]

Sure thing. I'd like to get an improved benchmark for the different record types too, before starting - A records just happened to be the fast path for our (proprietary) application.

Cool. With this in place we can do a staged rollout: A and AAAA first and then
slowly add other records..
/Miek
--
Miek Gieben

any luck with this?
Otherwise I am going to pick this up this/next week

Other issues took priority last month. Did you make any progress? If not, I'll start this week.

I'm going to give this some love, this week + weekend (and next week, depending how far I will get)

Hi, I'm very interested in reducing GC pressure caused by the unpack routines. I was happy to see that there is a branch already under way. Is it functional enough to test out? Anything I can do to help move it along?  -cheers

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] More efficient A re..." ]

Hi, I'm very interested in reducing GC pressure caused by the unpack routines. I was happy to see that there is a branch already under way. Is it functional enough to test out? Anything I can do to help move it along?  -cheers

Cool. Well, yes you can help ;-) I think most of the changes are mostly
mechanical.

msg_generate needs to actually emit code
the pack/unpack function needs to be called from msg.go when doing the
packing/unpacking. This needs to happen in a way that we can flip types
on. The original PR has code for this.

of course, this is all still not that trivial. I won't have any time for this
until Sunday.
/Miek
--
Miek Gieben

So, I've copy-pasted most of this branch into #356, which is a work-in-progress. Right now it compiles :) But does nothing. The next steps are:

Generate pack/unpack for A and AAAA and check how mechanical this can be. For good measure maybe also generate them for MX (as that is a more complex record)
Tweak PackRR/UnpackRR to short circuit the reflection for these types
fuzz this setup a bit
Move more types
Kill off the packStructValue and unpackStructValue

So 1. has been done. 2. Should not be that hard. And the rest is just more of the same.

Has be done.

Tests now panic :)

and 5. are really easy now :)

The only failing test is TestNoRdataUnpack, probably related to some added length checks in the generated code.
I think I'm starting to get happy how this is looking.

a bit stumped on why this test fails. I do think the length checks:
	if off+net.IPv6len > lenmsg {
		return nil, lenmsg, &Error{err: "overflow unpacking aaaa"}
	}

should be off+net.IPv6len-1 because only the next packer/unpacker hits to new offset, but even with that change that test keeps failing.
@andrewtj can you double check my logic here? And the overall PR (if you have time). It's #356

@miekg I can't get to it tonight but I'll put it on the list for tomorrow.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] More efficient A re..." ]

@miekg I can't get to it tonight but I'll put it on the list for tomorrow.

np and thanks!

Well, I'm kind of lost :)
I don't follow the logic of dynamicUpdate(): It gets called with offset and len(msg), so won't that only be true when the zero-length rdata is the last RR? Could the length from RR_Header be checked in the RR unpackers instead?
The subjects in TestNoRdataUnpack() that fail, L32 and MX, both seem to fail because the packed rrdata isn't empty. If you hack the test to truncate the data after rdlen and set rdlen to zero, the test passes. Both L32 and MX start with a u16, and that seems to be what gets packed as the rdata is two zero bytes.
So I guess the old unpack style was more forgiving, although I'm not confident about that as I wrote a quick test to see if any other empty structs produce non-empty payloads, and I got failures from 4 other RRs but not those two. So I've got something twisted.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] More efficient A re..." ]

Well, I'm kind of lost :)
I don't follow the logic of dynamicUpdate(): It gets called with offset and len(msg), so won't that only be true when the zero-length rdata is the last RR? Could the length from RR_Header be checked in the RR unpackers instead?

Good point.

The subjects in TestNoRdataUnpack() that fail, L32 and MX, both seem to fail because the packed rrdata isn't empty. If you hack the test to truncate the data after rdlen and set rdlen to zero, the test passes. Both L32 and MX start with a u16, and that seems to be what gets packed as the rdata is two zero bytes.
So I guess the old unpack style was more forgiving, although I'm not confident about that as I wrote a quick test to see if any other empty structs produce non-empty payloads, and I got failures from 4 other RRs but not those two. So I've got something twisted.

Thanks for looking at it! I will poke some more.
/Miek
--
Miek Gieben

Fixed by properly checking the rdlength before packing/unpacking.
Hilariously it now fails on:
% go test
--- FAIL: TestRFC6605P256 (0.00s)
	dnssec_test.go:568: failure to validate the spec RRSIG: dns: bad signature
--- FAIL: TestRFC6605P384 (0.05s)
	dnssec_test.go:644: failure to validate the spec RRSIG: dns: bad signature
FAIL
exit status 1
FAIL	github.com/miekg/dns	12.216s

Which uses the same code, but quite funny because it is at the other side of the DNS spectrum :)

Ah, this happens because we read the RR from a string (which does not set the rdlenght - long story). so The isdynamicUpdate thing it hit and the last bit of he RR is not encoded.

Ok, so we always packed more (for some RRs) in Go dns, as there is no sane way to signal "nordata", i.e. in the case of mx the preference is 0 which is valid, so it gets packed. The solution is to check for "off == len(msg)" after each UNpack and then just return what we have packed so far. Done this, tests are happy again.

Getting back to my list:

fuzz this setup a bit
Move more types
Kill off the packStructValue and unpackStructValue

fuzzing is in progress and got some results :(
More types have been moved
Killing of packStructValue and unpackStructValue will have to wait a bit.
IOW: I'm almost ready to merge #356 , @cbranch OK to close this PR?


Check notebook folder existance & create it if needed

Hi,
When launching a user notebook server, if the folder to store notebooks does not exist, the server just fails (& no error shown) which leads to never ending 302 loops.
The script should verify folder existence & grants & create it if needed...

If you're using PAM authentication you can do this by adding a custom script to the PAM login handler (which Jupyterhub runs through). The following script achieves this (it includes checks to remove domains from logins if you're using ADF - change the domain as required - and ensure usernames are alphanumeric for security). It also creates automatic links to a read-only folder of example scripts:
#!/bin/bash

if [ "$#" -eq 1 ]; then
   USER=$1
elif ! [ -z "$PAM_USER" ]; then
   USER=$PAM_USER
else
   echo "Need to pass a username"
   exit 1
fi

# Remove ADF\ if it's in the username
USER=${USER#*\\}

# Strip all non-alphanumeric characters before we use the input
USER="${USER//[![:alnum:]]}"

HOMEFOLDER="/home/"$USER

if [ ! -d $HOMEFOLDER ]; then
    echo "Creating home folder for "$USER
    mkdir $HOMEFOLDER
    chmod 0755 $HOMEFOLDER
    chown $USER:$USER $HOMEFOLDER
fi

if [ ! -L $HOMEFOLDER/examples ]; then
    cd $HOMEFOLDER
    echo "Creating symlinks for "$USER
    ln -s /opt/ipython-examples/ $HOMEFOLDER/examples
fi

mkdir $HOMEFOLDER/.ipython
cp -r /opt/myscripts/ipython-profile/* $HOMEFOLDER/.ipython
chown -R $USER:$USER $HOMEFOLDER/.ipython

Then in /etc/pam/login you can add (at the end):
auth    required        pam_exec.so /opt/myscripts/create_userdir_setuid.sh

If you do not need to change the ownership of  $HOMEFOLDER (e.g. you're setting it up with loose permissions) this will work. However, if you want to have each folder assigned to a user you need to chown it - but this requires root. This now becomes tricky as the login is not running as root. You can't setuid a script but you can accomplish this by writing a small wrapper in C in the same folder as the above script:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
   setuid(0);
   system("/opt/myscripts/create_userdir.sh");
   return 0;
}

Compile this gcc create_userdir_setuid.c -o create_userdir_setuid and then chmod 4755 create_userdir_setuid to set it for root execution.
Change /etc/pam/login to:
auth    required        pam_exec.so /opt/myscripts/create_userdir_setuid

And you'll now have automatic, correctly owned, correctly typed home folders for every user that successfully logs in.

Closing this issue since it appears to be resolved. Please feel free to leave an issue at jupyter/help or leave a comment requesting this issue be reopened. Thanks to all!


nimbus: 24.6.0 -> 24.10.0

Build the nimbus package from the source repo flake. Updating is super easy now, just need to update the flake input :)
Not sure if it's safe to use follows on nixpkgs here or not so I've left it out but of course there is an impact on evaluations.
I am running this on a live validator. It seems to be working fine.

@ekimber I'm still unsure if it's a good idea to add support now to nimbus here if there's an official flake with proper support from the project. We only provide a convenience mechanism for end users not having to add that flake.
Opinions?

@ekimber I'm still unsure if it's a good idea to add support now to nimbus here if there's an official flake with proper support from the project. We only provide a convenience mechanism for end users not having to add that flake.
Opinions?

I completely agree it's preferable to use the official project flake directly. I've already done that in my own nixos configuration. However, I do see value in the ethereum.nix Nimbus module and would like to continue using it. It needs a Nimbus package to 'just work' and the official package is better than an unofficial one. Either way, some documentation pointing to the official flake would be helpful.


fix(ci): fix broken/outdated CI configuration

Merging as I think CI is failing because of broken dependencies, not broken CI configuration. #2 updated the dependencies, so will test further there.

Merging as I think CI is failing because of broken dependencies, not broken CI configuration. #2 updated the dependencies, so will test further there.


[BUG] Failing to upgrade to longhorn v1.3.0

Describe the bug
We cannot upgrade to longhorn v1.3.0 because the images have not been published to Docker registry.
To Reproduce
Steps to reproduce the behavior:

Install longhorn from Rancher UI

Expected behavior
Longhorn should have been installed
Log or Support bundle
The v1.3.0 images have not been pushed to Docker registry so we're getting  ErrImagePull error.
https://hub.docker.com/r/rancher/mirrored-longhornio-longhorn-ui/tags
docker pull rancher/mirrored-longhornio-longhorn-ui:v1.3.0

Error response from daemon: manifest for rancher/mirrored-longhornio-longhorn-ui:v1.3.0 not found: manifest unknown: manifest unknown

https://github.com/rancher/charts/issues/1978
friendly ping @innobead

@iosifnicolae2 were you able to upgrade the chart from the rancher marketplace? I think it's about to publish.

Closing this issue as it will be solved in https://github.com/rancher/image-mirror/pull/250
Thank you!


We now have the ability to forget the user by clicking the 'Forget me' button. It deletes all cheeps and information about the user in the database

Looks fine


MINOR: [C++] Slight improvement for ArrayData device_type

Responding to feedback on #40807:
          This condition implies that, conversely, in non-debug mode we could immediately return when we encounter a buffer? Instead of continue looping on all buffers and children...

Originally posted in https://github.com/apache/arrow/pull/40807#discussion_r1611641179

FTR, I removed my handle from the PR description, as I don't want to receive notification spam when people merge commits in their Arrow fork :-)


lakectl local handle interrupts in a better way

Closes https://github.com/treeverse/lakeFS/issues/6409

Added some more comments. Also a couple of general comments:

The mechanism of writing the operation and then removing it only when flow is successful is problematic. If the flow fails for any reason other than interrupt - we will not remove the marker though the assumption the data is invalid is false.
One suggestion is to leverage the interrupt handler we have and write the operation only in the case of the handler - i.e. we will write the marker only if an actual interrupt occurred.

@N-o-Z I really like that idea but are we sure we want to remove the marker only if the operation was interrupted? if it failed for some reason, it also might cause for incomplete data, no?

Added some more comments. Also a couple of general comments:

The mechanism of writing the operation and then removing it only when flow is successful is problematic. If the flow fails for any reason other than interrupt - we will not remove the marker though the assumption the data is invalid is false.
One suggestion is to leverage the interrupt handler we have and write the operation only in the case of the handler - i.e. we will write the marker only if an actual interrupt occurred.

@N-o-Z I really like that idea but are we sure we want to remove the marker only if the operation was interrupted? if it failed for some reason, it also might cause for incomplete data, no?

IMO we're not trying to protect from incomplete data - only from corrupted data. States where the flow was interrupted and not failed and where the user might not be aware of the situation


RPC cannot handle id of bare zero.

In the midst of creating a pyethapp (develop branch) harness for hive, I discovered that giving a RPC call an id of 0 will cause it to never reply, since on the server's side it throws an exception. Here's a simple command to test that:
curl -s -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x0", false],"id":0}' localhost:8545

If the zero is a string "0" it will handle it just fine. Otherwise, it'll just never reply.
Here's a backtrace, server-side:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gevent-1.1.0-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 534, in run
    result = self._run(*self.args, **self.kwargs)
  File "build/bdist.linux-x86_64/egg/tinyrpc/server/__init__.py", line 51, in handle_message
    response = self.dispatcher.dispatch(request)
  File "/pyethapp/pyethapp/jsonrpc.py", line 121, in dispatch
    self.logger('RPC error', id=res.unique_id, error=res.error)
AttributeError: 'NoneType' object has no attribute 'unique_id'
<Greenlet at 0x7fe6a051ac30: handle_message(<Queue at 0x7fe6a053d310 getters[1]>, '{"jsonrpc":"2.0","method":"eth_getBlockByNumber",)> failed with AttributeError
``

This is due to an issue with tinyrpc https://github.com/mbr/tinyrpc/issues/27


Rework CI config and tag major, major.minor images on release

Original PR https://github.com/tinkerbell/hegel/pull/136

@mergifyio queue


Minor fixes

removing extra closing parenthesis from GNUmakefile
some order functions in lua files I think are supposed to be local and not global, so I switched to local

For the scope of the sorting functions, I think some of these did need to scoped globally to work with pairs_by_keys which is another table. There is probably a better way to pass the functions through.

This still seems to change the order, although I've not looked too closely to work out why yet - possibly the original sorting wasn't working in all cases. The easiest way to check it is to force the page build times to be the same (something like this should probably be applied anyway so that you can do something like export DATETIME=now) and then just diff the build folders of this branch and the master branch with diff -r.

Right, I will do this in the weekend to verify what's wrong. I was going to remove the locals but decided to move all order related to the agsman lua package (module?). I didn't had the thought of doing a diff (because of the build time in all files), but in this way I can easily build a before and after (exporting DATETIME)

It seems that the original ordering within the built files is not stable, so actually it is quite difficult to know whether the functions are working or not. I am currently testing writing the metadata to lua tables instead of YAML (seems OK so far), so I will try to also move the sorting functions at the same time and check the result is repeatable.

I've published the changes here, if you wanted to try it out:
https://github.com/morganwillcock/ags-manual/tree/json
I've not fully tested it yet, but I think it is OK and fixes some encoding issues.

cool! I removed the other commits from here then since they are not needed and will test this now!

Hey, for some reason DATETIME=now produces the word now in your build but the time in the ags build.
Other difference is in genindex:

I think that --- vs - was a side effect of using Pandoc's stringify function on data that was loaded back in, which was actually unintentional and doesn't match the GitHub wiki link format. I think it is now more correct than it was, or at least, it follows GFM rules better than it did previously.


Change size of stars?

Is there a way to change the size of the stars? I would like to make them bigger and changing height and width properties in the HTML has no effect.

Hey @produktive, there is a variable for changing the star sizes (if you are using scss version): https://github.com/LunarLogic/starability/blob/master/starability-scss/_variables.scss#L2

this doesn't work...


telescope-embedly: regenerating thumbnail click results in misleading error.

I guess this is regeression introduced in dafae9b57, checkIfPreviouslyPosted callback triggered by  thumbnail prefill results in validating URL of the current post, since _id is not taken into account in the duplicate check, error message informing user about duplicated URL pops up.

Hey, @kabalin! Telescope has changed a lot in the past months, and there is a new React-based version, Telescope Nova (intro video). If you know Crater, it runs on the latest version.
The Legacy version is no longer supported. I'm closing this issue.
I invite you to check the new version, it's awesome!
Happy hacking! 🚀
Ps: by the way, don't hesitate to join the Slack to ask any question, you are welcome! 👍


 I cant get it to load the pokemon at the location I choose in the app. If i click on the new york central Park (for example) on the map at the computer it loads every pokemon there and shows them in the app too. But if I choose a location at the iPokeGo app itself, lets say some other point in New York it doesnt show the pokemon there. I always need to change the location on the server first.
Any suggestions or similar problems?

related? #231
The app dont fetch scan location coordinates from map server

I don't seem to be having any trouble changing my scan location from within the iPokeGo app.


Update Using-CNTK-with-CSharp.md

Small syntax fix

Docs Build status updates of commit 1bca88a:
:clock10: Pending: waiting for processors (40 builds ahead of you)
:warning: Docs Build is busy, currently there are 40 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 1bca88a:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] An exception occurred during the build process. Please check the raw log and retry building your content again. If the issue persists, please open a ticket in http://SiteHelp and include the URL of publishing report as well as below information: One or more errors occurred..

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


I can't receive Korean highlight. Highlight works only English?

[14/14:42:34] send 한글
[14/14:42:34] <*push> service: pushbullet
[14/14:42:34] <*push> service_host: api.pushbullet.com
[14/14:42:34] <*push> service_url: /v2/pushes
[14/14:42:34] <*push> service_auth: secret:
[14/14:42:34] <*push> use_port: 443
[14/14:42:34] <*push> use_ssl: 1
[14/14:42:34] <*push> use_post: 1
[14/14:42:34] <*push> NOT using libcurl
[14/14:42:34] <*push> Building notification to api.pushbullet.com/v2/pushes...
[14/14:42:34] <*push> User-Agent: ZNC Push/dev
[14/14:42:34] <*push> Authorization: Basic Authorization
[14/15:06:54] <*push> Query string: body=%C7%D1%B1%DB&device_iden=target&title=New+Message&type=note
[14/14:42:34] <*push> Request sending
[14/14:42:35] <*push> Status: 400
[14/14:42:35] <*push> Message: Bad Request
[14/14:42:35] <*push> Data: X-Ratelimit-Limit: 16384
[14/14:42:35] <*push> Data: X-Ratelimit-Remaining: 16373
[14/14:42:35] <*push> Data: X-Ratelimit-Reset:<PHONE_NUMBER>
[14/14:42:35] <*push> Data: Content-Type: application/json; charset=utf-8
[14/14:42:35] <*push> Data: Date: Sat, 14 Mar 2015 05:42:34 GMT
[14/14:42:35] <*push> Data: Server: Google Frontend
[14/14:42:35] <*push> Data: Cache-Control: private
[14/14:42:35] <*push> Data: Connection: close
[14/14:42:35] <*push> Data:
[14/14:42:35] <*push> Disconnected.
I'm using Korean. But can't receive push. Only receive English highlights.
Please support if you are able to use the Korean.
body=%C7%D1%B1%DB, body=한글
[14/14:58:12]  send test
[14/14:58:12] <*push> service: pushbullet
[14/14:58:12] <*push> service_host: api.pushbullet.com
[14/14:58:12] <*push> service_url: /v2/pushes
[14/14:58:12] <*push> service_auth: secret:
[14/14:58:12] <*push> use_port: 443
[14/14:58:12] <*push> use_ssl: 1
[14/14:58:12] <*push> use_post: 1
[14/14:58:12] <*push> NOT using libcurl
[14/14:58:12] <*push> Building notification to api.pushbullet.com/v2/pushes...
[14/14:58:12] <*push> User-Agent: ZNC Push/dev
[14/14:58:12] <*push> Authorization: Basic Authorization
[14/14:58:12] <*push> Query string: body=test&device_iden=target&title=New+Message&type=note
[14/14:58:12] <*push> Request sending
[14/14:58:12] <*push> Ok
[14/14:58:13] <*push> Status: 200
[14/14:58:13] <*push> Message: OK
[14/14:58:13] <*push> Data: X-Ratelimit-Limit: 16384
[14/14:58:13] <*push> Data: X-Ratelimit-Remaining: 16277
[14/14:58:13] <*push> Data: X-Ratelimit-Reset:<PHONE_NUMBER>
[14/14:58:13] <*push> Data: Content-Type: application/json; charset=utf-8
[14/14:58:13] <*push> Data: Date: Sat, 14 Mar 2015 05:58:11 GMT
[14/14:58:13] <*push> Data: Server: Google Frontend
[14/14:58:13] <*push> Data: Cache-Control: private
[14/14:58:13] <*push> Data: Connection: close
[14/14:58:13] <*push> Data:
[14/14:58:13] <*push> Disconnected.

Transmission DownLoad
[JTBC] 냉장고를 부탁해.E10.150119.HDTV.H264.720p-WITH.mp4 DownLoad Complete.
(Sat Mar 14 22:29:48 2015)
Pushbullet can receive Korean.

In other languages, I can't receive the highlight push?

I'm not sure, but this might be a limitation of ZNC's CSocket implementation.  Could you try building znc-push with support for libcurl (see the README for details), and see if that fixes the issue?  Otherwise, I'm not really sure what the solution would be, since I'm mostly relying on ZNC's builtin string class and methods.