time: add weekday helper functions

#Perhaps in future editions it would be nice to have a convenient function to get the following (or previous) week day of a given one.
Current Behaviour
As a client of time.Util library, for a given day if i rqquire to calculate the following one
today := time.Now()
tomorrow := today.Add(time.Duration(24) * time.Hour) // adds a day duration, could use (time.Time).AddDate  if really want to avoid the lead second
tomorrowWeekDay := tomorrow.WeekDay()

Motivation
the func (t Time) Weekday() Weekday does non-linear calculations (i do take a look at the code and see the logic behind and it is not trivial, and the order of the function could match a binary search  "O(log n)" as the func (l *Location) lookup(sec int64) (name string, offset int, isDST bool, start, end int64) may be called during the process (look for l.lookup(sec) in time.Time source file)  that could be simplified in the context of iterating through weekdays in a circular fashion (either forward or backward).
Possible Solution
// Gets the next week day, following golang time.WeekDay values convention
func next(day time.Weekday) time.Weekday {
	return time.Weekday((int(day) + 1) % 7)
}

The above was my implementation that works on my project.
As the language specs forbids: i can't use WeekDay as type receiver, thus, extending and binding the functionality to the concrete type; so i resort to write my own utility func.
Additional Test Code
func TestNextWeekDayWorks(t *testing.T) {
	// an entire loop over the week is enought to prove it works as it cover all posible values
	sunday := time.Sunday
	monday := getNextAndAssert(t, sunday, time.Monday)
	tuesday := getNextAndAssert(t, monday, time.Tuesday)
	wednesday := getNextAndAssert(t, tuesday, time.Wednesday)
	thursday := getNextAndAssert(t, wednesday, time.Thursday)
	friday := getNextAndAssert(t, thursday, time.Friday)
	saturday := getNextAndAssert(t, friday, time.Saturday)
	getNextAndAssert(t, saturday, time.Sunday)
}

func getNextAndAssert(t *testing.T, currentDay time.Weekday, expectedNextDay time.Weekday) (calculatedNextDay time.Weekday) {
	calculatedNextDay = next(currentDay)
	if calculatedNextDay != expectedNextDay {
		t.Errorf("Not equals.\nCalculated is: '%v', while expected is: '%v'", calculatedNextDay, expectedNextDay)
	}
	return
}

Context
My motivation arises for three reasons:

by beign working with medical agendas that have plenty of relative time intervals (e.g: per day of week availability), and when the times comes to calculate the actual availabilties in a given lapse of time (that are consecutive days) i do find proper to work with time.WeekDay type in order to retrieve the relative availability information for the correspondent day.
I would like to think that other persons already face or faced this scenario, i mean: to face the need of sequentially iterate over week days starting from a given absolute time.
Need to be aware of golang convetion changes for days in a week concrete integer values.

I would love to receive some feedback about this including other professional's point of views.
Thanks and hope you find useful something of what i have just share.

The behavior I infer from the "Possible Solution" is simple modular arithmetic and it's directly supported by the language with no need for conversions: https://play.golang.org/p/v6XOucCpgUW.
Also, I don't see enough value in having the two special cases, prev and next, explicitly handled by extra functions/methods of the time package.

anyway, my intentions were only to cooperate. I will appreciate a "thanks" regardless if the golang team decide to include it or not.

func prevWeekday(d time.Weekday) time.Weekday { return (d - 1) % 7 }
func nextWeekday(d time.Weekday) time.Weekday { return (d + 1) % 7 }
and please, you want to every person write these two functions over and over again?

is not my way of feel how we must avoid to rebuild the whell

as a system analyst professional i urge you to think that we rely on abstractions in order build bigger system... nextWeekday and prevWeekday are part of those abstractions... after all, to implement a function like that in golang i have study before the golang convention for weekdays values and take me time, i only want to spare some time to other. Just try to stay focus on our natural task cznic, build abstrations, the right ones.

FTR
today := time.Now()
tomorrow := today.Add(time.Duration(24) * time.Hour) // adds a day duration
tomorrowWeekDay := tomorrow.WeekDay()

is not a correct solution of the problem.

i believe it works fine (and it does in prod) https://play.golang.org/p/lxbPySc8amm... i encourage you to explain why this is not a correct solution.

The duration between weekday changes is not fixed at 24 hours in the general case.

See also https://github.com/golang/go/issues/19700.

As @cznic notes, you can already iterate over weekday constants using the usual mathematical operators, and the expression (d + 1) % 7 is not much boilerplate at all: you don't even need a function to abstract over it. For the general case, the combination of (time.Time).AddDate and (time.Time).Weekday also allow for iteration by arbitrary numbers of days.
For the specific problem of iterating over sequential days, this proposal doesn't seem to carry its weight: it would add API surface for trivial mathematical operations. For less-trivial use-cases, #19700 proposes a more comprehensive API. I'm closing this issue as a duplicate of that one.

bcmills i don't see your point as valid, i would strive to implement it as part of the library (for the reason i put as motivation) but anyway thanks you both (also cznic) for the reading and the feedback.

New API always carries a cost.  If we add a Next method to time.Weekday, we have to document it and maintain it.  We also probably have to add a Prev method.  The code is easy to write yourself, so as bcmills says this doesn't seem to carry its weight.

thanks for the reply ianlancetaylor. Allow me to highlight a previous question

¿do you want every person (in evey project) write these two pair of functions?

func prevWeekday(d time.Weekday) time.Weekday { return (d - 1) % 7 }
func nextWeekday(d time.Weekday) time.Weekday { return (d + 1) % 7 }

I mean, i know that is very light work to do, but as far i stated this could be a problem to more than one client of the library, so, the question i would make myself as client of the library is ¿why delegate the weigth to each client instead of putting it in a single place (like the "time" library) and once for all?.
I know is work to do and impacts on augmenting the complexity (just a bit, ok! is a bit and is annoying perhaps you may say) of the library; so that is why at first place my proposal was formally expressed among with a helpful (i hope) snippet of code. To recap: The "complexity exists, and it shall be encapsulated in a layer. Is not an easy matter, it can has  a lot of discussion, going and backs, it depends on the work team.

Encapsulation of complex expression and/or logic often makes sense. Encapsulating trivial expressions (two operators, single non-constant operand) not so much.
There is probably a lot if similar one-liners out there. Never will they all end in the stdlib, so someone must decide where to draw the line.

So we all recognize that the complexity exists and is fact (regardless the level of complexity).
If we put this in  "client"/"server" terms: as a client you understand that i would strive for the "server" to implement it (and releases me from the burden that it takes), and i know that this is work for you by relieving me from do it. Allow me to add that i have already make the work, so you can imagine that this doens't release me from anything at this time, but i understand, and very weel, of the importance of this decision.
I see that neither any of my motivations (explained in the Motivations and Context Sections) is not enough to promote this "issue/request" to a "nice to have feature". I have interest of knowing what do you think of each of one of them, without any rush to answer, of course.
I do not know with how many work you have to deal with day by day, but for a start i will assume that is a lot. So I don't want to be annoying with this, and, if i'm about to be it,  please excuse me. Thanks

I think I would summarize your motivations and contents as saying that these new methods would be useful.  I agree.  Nobody would propose ideas that aren't useful.
From my perspective, every change has both a benefit and a cost.  We make changes where the benefit is larger than the cost.  You've discussed the benefit.  The various replies to you above discuss the cost.
In other words, we agree about the benefits you've mentioned.  Where we disagree is whether the benefits are worth the cost.

And let me add that I believe that you guys are the ones that know the ** tradeoff ** of this, i mean, the ** cost ** and the ** benefits **. I guess don't need me to say anything else.
Thanks ian, for your feedback, it was very useful to me in order to understand more what is really the matter here, and therefore the thing that, perhaps, may be put on the table for discussion someday.


[BUG] mc batch generate expire shows incorrect yaml

Describe the bug
The sample yaml shown in the first link for mc batch expire seems to be same as keyrotate
https://min.io/docs/minio/linux/reference/minio-mc/mc-batch-generate.html#minio-mc-batch-generate-expire-job
But this second link gives more detailed explanation about the expire yaml seems different
https://min.io/docs/minio/linux/administration/batch-framework-job-expire.html#minio-batch-framework-expire-job-ref
Expected behavior
I believe the first link should be updated with the correct yaml similar to this

Desktop (please complete the following information):

OS:  iOS
Browser chrome

Thanks for the catch!
This was a copy/paste error where we neglected to update a referenced file.


Documentation: Langchain Integration

Integration doc update

Add this file to ignored doctest list to make the test pass --
Here - https://github.com/lancedb/lancedb/blob/main/docs/test/md_testing.py#L6


Updates fail due to write permissions

Hello,
On OS X 10.10.3 I am having an issue updating Atom. When it tries to pull down the latest version of itself, I get the following error:
Could not create temporary directory: Permission denied```

I am running Atom 0.190. I will happily fix the file permissions, but I have no idea what directory it's trying to write to. I can't find any errors in the OS X Console.

Super low priority, and the error is decently verbose, but it would be nice to know which directory its trying to write to.

Thanks,

Austin

Duplicate of https://github.com/atom/atom/issues/5160. Please subscribe there for updates.

Thanks, sanicki. Missed that one.


New package: JuliaScript v0.1.0

Registering package: JuliaScript
Repository: https://github.com/jolin-io/JuliaScript.jl
Created by: @schlichtanders
Version: v0.1.0
Commit: e557874f1f0b0d4541a53454512b73d7e50560ff
Reviewed by: @schlichtanders
Reference: https://github.com/jolin-io/JuliaScript.jl/commit/e557874f1f0b0d4541a53454512b73d7e50560ff#commitcomment-138138545
Description: finally fast julia scripts

I have no problem with the “Julia” prefix for this particular package


Add docs directory for beginning of developer's guide

In the project's output, include subdirectories for developer's handbook, etc.
Initial structure should be (suggested):

/docs/development (ask Christine for sample docs)

/getting-started
/code-quality
/release-process
/git-workflow
/pr-workflow
/repo-settings

/docs/project-overview

/docs/architecture

/docs/er-diagram

/docs/secrets (how to manage)

/docs/monitoring

In the interest of making a PR now and keeping it small and easy to review, I won't introduce new content such Code Quality or PR workflow. Each of these items deserve to be their own PR so they are properly reviewed.
I just added the architecture and project overview pages. The ER diagram feels a little premature as well. This is something that should ideally be generated from the code to always be up to date so best to add it when we have a solution to generate it automatically.


Drop the formula and compare apps directly

The "Formulas", "Game Theory", and walls of text explaining all that are all confusing and huge barriers to understanding what the heck "App Mining" really is in a short amount of time, unless you are already really passionate about it, which as a developer coming to the idea for the first time I really am not, I'm just interested in building great useful apps. So, that is to say I grok the general concept from the 50-word explanation, but then it gets super hairy and confusing. I know if I try harder I could understand what it is, but still not why it is that way without even more work.
Why not keep it simple and true to the idea, and put apps up against each other? That could be explained as simple as: A vs B recursively, until one comes out on top. I think that works out mathematically, while still remaining practical, but perhaps I am naive (let me know).
You could embody the personal biases of the reviewers into the score, which I think is the way it should be, as long as you are using humans to evaluate, instead of trying to turn those humans into robots that fit into a formula. For instance, if app A is more useful to the user and perhaps easier to use than app B, then let that come through in the fact that app A has a victory over app B. App B might still beat app D, which beat app C but also lost to app A. This gives app B incentive to become more useful and easier to use than app A next round (while also continuing to try and be better than app D), thus encouraging continuous improvement.
This measurable goal of improvement I think should replace the current focus on being first to submit a new app, at least those "make a new app and submit before deadline to get the bonus" types of incentives tend to stress me out. I get the desire to entice new app developers (or just new apps) to join the fray, but I think you might have just as much success promoting the rewards you get from constant development, which is less ostracizing and less one-off. This is just my opinion on the hackathon reward structure, which I think would such restructuring might be more in line with the goals of the App Mining program (thus helping demystify the program to begin with).
So, the idea is to pit apps against each other, A vs B vs C vs D, where there are winners and losers based on direct comparison. Perhaps to limit the sheer number of comparisons needed to create the chain of winners, structure it like a tennis tournament where there are consolation rounds, to limit the breadth of "matches" needed.
I have very little knowledge of the history of the App Mining program, and don't have much of an opinion about it, all I know is I was introduced to it via hackathon and now am part of it. In trying to understand it I found it to be overly complex and wish it worked more simply like the way I'm explaining it here. I understand more embedded people may have ideas on why this suggestion might not work, which of course you should share in response.

The more I look into the "Game Theory" aspect of this system, the more I realize normal people are not going to understand it, and the less that people understand it, the less people are going to trust it. Why not just present reviewers with two apps, and ask them which they think is better? That makes so much more sense without all the smoke and mirrors. It will be obvious when someone is cheating because we can all use common sense, which this "Game Theory" system cannot. It is obvious when an app is better than another, and only for a near tie might your number of social media followers matter, and even then we all know that is BS.

"It is obvious when an app is better than another" Perhaps your opinion on it is obvious, but basing an entire system on opinion is not what App Mining is about. App Reviewers are bringing in objective measurements to assess apps in a consistent manner. Comparing two apps head to head and choosing the 'better' one is inherently not objective. What are you choosing based on? Interface? Value created? Business model? How do you compare apples to oranges?
Scenario: How would you feel if your brand new app went up against a well established one and then received a poor score because of it?
How do you pair apps fairly? Randomly certainly doesn't work as how do you 'compare' two totally different apps with different purposes? This system would only be measuring luck of the draw or the seeding, not how usable they are for their users. I don't think directly comparing apps 1:1 is a useful exercise unless all the apps were built with the intent of solving the same problem or are serving the same user.
Also, are you familiar with how TryMyUI scores? https://docs.blockstack.org/develop/app-reviewers.html#trymyui and https://docs.blockstack.org/community/app-miners-guide#recommendations-from-trymyui. Instead of punishing an app simply for what app it had to face in a tournament style, it looks at every app along specific universal vectors that lead to satisfaction for users and puts out numbers that we can then reasonably rank against other apps with completely different goals, users, business models, etc.
Last, no one needs to understand anything about Game Theory whatsoever to be successful at App Mining - in fact, I would guess the majority of Miners haven't even read the whitepaper. They can simply follow the scoring methodology for the Reviewers and easily understand what moves their score. We rarely receive feedback to the effect of 'I don't understand game theory and so I don't know what to work on in my app for App Mining'. Generally, feedback is all about making the Reviewers more nuanced and more accurate. I personally don't think we should be building App Mining with the intent of keeping it easy to understand. Building apps is complex and there are a lot of factors. A program assessing them should be nuanced and robust. That said, it's honestly pretty simple. Build an app, make it better over time, keep an eye on certain privacy concerns, and do marketing like you would for any another app.

"It is obvious when an app is better than another" Perhaps your opinion on it is obvious, but basing an entire system on opinion is not what App Mining is about. App Reviewers are bringing in objective measurements to assess apps in a consistent manner. Comparing two apps head to head and choosing the 'better' one is inherently not objective. What are you choosing based on? Interface? Value created? Business model? How do you compare apples to oranges?
Scenario: How would you feel if your brand new app went up against a well established one and then received a poor score because of it?
How do you pair apps fairly? Randomly certainly doesn't work as how do you 'compare' two totally different apps with different purposes? This system would only be measuring luck of the draw or the seeding, not how usable they are for their users. I don't think directly comparing apps 1:1 is a useful exercise unless all the apps were built with the intent of solving the same problem or are serving the same user.
Also, are you familiar with how TryMyUI scores? https://docs.blockstack.org/develop/app-reviewers.html#trymyui and https://docs.blockstack.org/community/app-miners-guide#recommendations-from-trymyui. Instead of punishing an app simply for what app it had to face in a tournament style, it looks at every app along specific universal vectors that lead to satisfaction for users and puts out numbers that we can then reasonably rank against other apps with completely different goals, users, business models, etc.
Last, no one needs to understand anything about Game Theory whatsoever to be successful at App Mining - in fact, I would guess the majority of Miners haven't even read the whitepaper. They can simply follow the scoring methodology for the Reviewers and easily understand what moves their score. We rarely receive feedback to the effect of 'I don't understand game theory and so I don't know what to work on in my app for App Mining'. Generally, feedback is all about making the Reviewers more nuanced and more accurate. I personally don't think we should be building App Mining with the intent of keeping it easy to understand. Building apps is complex and there are a lot of factors. A program assessing them should be nuanced and robust. That said, it's honestly pretty simple. Build an app, make it better over time, keep an eye on certain privacy concerns, and do marketing like you would for any another app.

@leoj3n welcome to App Mining. I agree the info is complex and the App Mining team should do a better job of communicating clearly.
I'm not sure how to respond to the "walls of text" style commentary. If you think you have a design for a clearly superior reviewer, and that would involve removing all other reviewers and altering the scoring formulas: First, I think that is really cool, 👏 for such a bold idea. Second, I really couldn't really respond to that without much, much more detail. For example, I have an open design proposal here: https://github.com/blockstack/app-mining/issues/174 that involves more detail for a smaller change.
I can't see how this community could evaluate, or accept, a proposal like this without all that detail. As we have learned most designs can be abused, gamed, and are difficult to run. I expect yours is as well but I need more details before I can even weigh in. Thx!

Seems to me the game theory just introduces arbitrary numbers and the results will still contain the inherent biases of the reviewers; all it affords you is a way to explain it away without actually eliminating it. Sorry if I'm attacking something you feel the need to defend because of the energy and resources you have already put into thinking about and developing this complex system. My point is you could accomplish the same without a complex system that puts up barriers to entry.
If any sports tournament worked this way probably nobody would participate. I just don't see it working out or being attractive in the long run. I know it might hurt to hear an opinion like that.
The idea comes from seeing my app reviewed by TryMyUI videos uploaded by random reviewers. It's cool that they want to tell me how to improve the app but most of us developers built the app so we already know its flaws, and there is no point in me watching all these 20 minute uploads that point out the same obvious flaws with the app. Like has been said they are not actual users of the app and are only giving cursory analysis. Their time would be better spent comparing app A vs app B, and then that video would give me a ton more feedback why they liked app B better, for example.
I am considering on making an introductory post or infographic (or even video might be best), that introduces new comers to the current landscape for this system and hurdles of understanding that they will have to overcome (that I had to overcome). Like you said it's not impossible but I'm sure there a lot of developers that don't make it past the hurdles that could with a better and simpler overview than having to try and find a random web page that explains it in addition to a bunch of other stuff that the person never had questions about. It won't be mean or disparaging, just helpful because in the current state with the wallet and STX and where the money comes from and why with App Mining and submitting paperwork, it is a lot to understand and to undertake to get started in addition to building an app with the decentralized tech to begin with, and most of the way through with the exception of the tech you don't understand why you are having to do what you do.
If the goal is to get more people building apps, I see this as a major pain point. If most people are like me they are not necessarily here for the money or the competition, at least not from the outset.
I do think the explanation of it for new app developers coming into this space could be improved. There needs to be some kind of on-boarding and automated outreach via email in my opinion. A lot of the emails I have received are essentially cryptic if you don't understand the initial premise. Perhaps include explanations of what this email is and why, under the body of the actual dynamic email content. For instance the "TryMyUI results" and the "App Mining" meeting invitations, I largely ignored those because I had no idea why I was being sent that stuff for a long time. Most people are busy and don't always drop what their doing to wade through Google search to find out.
Hope that all makes sense and my opinions are not taken as purposely rousing, on the contrary I'm excited at the opportunity to participate and improve the app I submitted as well as submit some more app ideas to compete against myself.
Any rating system you have is going to be flawed, and currently I think it's not understandable unless you squint, and I know you can participate without a degree in game theory, but I think it is a mistake to so heavily weight the system based on something most people aren't going to take the time to understand, unless this really is just an academic experiment with lots of funding, which I accept it very well may be, in which case it make a whole lot more sense to involve game theory.
Perhaps the goal is to develop a "robotic" system that rates apps and has some business value? Or at least you can argue it does, and then sell it to organizations? I guess if that is one of the goals then it may be worth the effort to continue down this path. At any rate I'm sure my opinion here won't matter much unless others pile on in agreement, but I think a lot of those people never make it to this point that I have. I'll try and help change that regardless, as I feel you all are pretty confident to continue down the same game theory path you are on, which I am sure will work out in the long run despite perhaps not being the best (in my opinion at least).
As I hope I made clear from the outset, I'm not trying to tear down what you have built, just want to share my feedback that it does not resonate with me in the current state as a user. Thanks!

Let me now reply to @cuevasm as he addressed me with some more direct questions:

Scenario: How would you feel if your brand new app went up against a well established one and then received a poor score because of it?

I understand that currently TryMyUI is not the only way you rate apps, although that is what I first experienced when looking into this (I was very surprised to see humans uploading videos about my app!), but if there was a video where a nice reviewers voice explained why they like the more established app better than the one I submitted I would be fine with that.

How do you pair apps fairly? Randomly certainly doesn't work

Yes, in this imaginary system of mine, I did imagine eventually it would make sense or be necessary to put apps into categories. The system I proposed would have its own complexities I am sure you can imagine as someone who thinks about this but would be easier to understand from the outset for normal people looking on from the outside. I wanted to keep the proposal as dead simple as possible, with the understanding that it would evolve over time, but remain much simpler than the arbitrary values and fractional weights of the current game theory approach.

Also, are you familiar with how TryMyUI scores?

I did find these documents eventually. Yes, they were helpful in explaining things. It gave me the feeling that the complicated system is meant more to keep the big apps fighting over the lion share of the profits, it these somewhat arbitrary metrics gives you a way to pacify their voices and keep them calm. I know that might be a stretch but that is kind of what it feels like, unless like I said this is all an academic experiment.

Last, no one needs to understand anything about Game Theory whatsoever

To your last point, I appreciate that you can participate unknowingly like I have been for many months now. I'm not so sure that is a good thing however.

'I don't understand game theory and so I don't know what to work on in my app for App Mining'

That is not exactly what I was saying, I know exactly what to work on in my app, and I think almost ever developer here does, without the help of some budget reviewer. Most of the apps are clones of already successful apps like Gmail, Slack, or Evernote... It's easy enough to take one look at the closed source app you are emulating to see what features you are lacking. Don't need this overly complicated system to tell you that. Ridiculous, at least your point is in my opinion. Would get much more value out of understanding why a user liked app A over app B.

That said, it's honestly pretty simple. Build an app, make it better over time, keep an eye on certain privacy concerns, and do marketing like you would for any another app.

@cuevasm Do you have examples of recent apps that launched in lower ranks and later successfully made it into top 20?

Assuming we can drop this ticket and keep conversation going over at https://github.com/blockstack/app-mining/issues/185 which has a more complete proposal? Closing, will happily reopen if needed.


Feature request - Rename an existing group

Rename an existing group

@sfenu can i look at it ??

renaming a group can be done from the group settings page


Prevent orphan snapshot attachment tickets

longhorn/longhorn#6652
Given the possibility of the scenario @PhanLe1010 suggested and the related comments from @innobead in a previous PR (https://github.com/longhorn/longhorn-manager/pull/2147#discussion_r1329341605), it seems a simpler approach is simply to do an uncached GET of a snapshot before creating an attachment ticket while the snapshot is deleting. If the snapshot no longer exists, the GET fails, and we don't proceed to create the attachment ticket. This eliminates the need for the extra annotations that PR introduced, is less susceptible to logical errors, and still prevents us from creating an attachment ticket on the last reconcile of a cached snapshot (after the garbage collector has already delete it).
In order to avoid unnecessarily hammering the API server, we only do the uncached GET if:

The snapshot is deleting.
We have decided we want to create/modify the associated attachment ticket.

It took a bit of effort to confirm this was working. The recreate steps I had documented were not sufficient to reliably reproduce the issue. After solidifying them (it seems the volume must contain a certain amount of data), we see the following on a sustained run and NO orphaned attachment tickets:
eweber@laptop:~/longhorn-manager> kl logs --tail=-1 -l app=longhorn-manager -f | grep handleAttachmentTicketCreation
time="2023-10-06T18:03:49Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/12fea5ed-1773-46fe-a266-c1d815755afe" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/12fea5ed-1773-46fe-a266-c1d815755afe: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"12fea5ed-1773-46fe-a266-c1d815755afe\" not found" node=eweber-v125-worker-e472db53-9kz5b
time="2023-10-06T18:04:54Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/4e73261d-9d67-4471-a93c-1c409eb70f15" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/4e73261d-9d67-4471-a93c-1c409eb70f15: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"4e73261d-9d67-4471-a93c-1c409eb70f15\" not found" node=eweber-v125-worker-e472db53-9kz5b
time="2023-10-06T18:05:19Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/a288262e-84d4-49a4-93a3-425327b6645c" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/a288262e-84d4-49a4-93a3-425327b6645c: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"a288262e-84d4-49a4-93a3-425327b6645c\" not found" node=eweber-v125-worker-e472db53-9kz5b
time="2023-10-06T18:06:19Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/3431c1df-c836-430f-9a58-52d3822adfea" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/3431c1df-c836-430f-9a58-52d3822adfea: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"3431c1df-c836-430f-9a58-52d3822adfea\" not found" node=eweber-v125-worker-e472db53-9kz5b
time="2023-10-06T18:28:24Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/c5aa2b05-b582-45d8-bd8e-c0b820702939" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/c5aa2b05-b582-45d8-bd8e-c0b820702939: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"c5aa2b05-b582-45d8-bd8e-c0b820702939\" not found" node=eweber-v125-worker-e472db53-9kz5b
time="2023-10-06T18:35:39Z" level=error msg="Failed to sync Longhorn snapshot longhorn-system/c880beee-2b76-4e27-b7ba-705322bc8dbd" controller=longhorn-snapshot error="longhorn-snapshot: failed to sync snapshot longhorn-system/c880beee-2b76-4e27-b7ba-705322bc8dbd: handleAttachmentTicketCreation: failed to create/update attachment: snapshots.longhorn.io \"c880beee-2b76-4e27-b7ba-705322bc8dbd\" not found" node=eweber-v125-worker-e472db53-9kz5b

NOTE: I am unable to trigger the issue (and thus test the fix) on master. My testing is based on a 1.5.x backport. I'm not 100% sure what has changed that causes this inability to reproduce, but I have burned a decent amount of time trying. I think we should merge this change into master anyways, as there is no evidence it has been fixed (other than the fact that my somewhat flaky reproduce method isn't working).

@ejweber please help with backport.

@mergify backport v1.5.x


[BUG] Unable to refresh the screen after making form read-only after submit the form.

Environment
Please provide as many details as you can:

Hosting type

[x] Form.io
[ ] Local deployment

Version:

Formio.js version:5.0.0
Frontend framework: Angular
Browser: chrome
Browser version:

Steps to Reproduce

create a form and create a submit button
enter the data into the form
Click on submit button

Expected behavior
form should need to be read only with the given data
Observed behavior
form is still editable , form is not changing to read only
Code in Ts
onSubmit(value: any) {
console.log('onSubmit');
console.log(value);
this.readOnly = true;
this.formio.formioReady.then(() => {
  this.formio.formio.disabled = true;
  this.formio.formio.components.forEach((comp: any) => comp.disabled = true);
  this.formio.formio.viewOnly = true;
});

this.submissionDone.emit(true);

}
in HTML
<formio [form]="form"
[submitDone]="submissionDone"
[readOnly]="readOnly"
(render)="onRender()"
[refresh]="refreshForm"
(submit)="onSubmit($event)"
(change)="onChange($event)" #formio

Example
If possible, please provide a screenshot, live example (via JSFiddle or similar), and/or example code to help demonstrate the issue.
For code or form JSON, please enclose in a code block:
// your code here

Could you possibly provide a code sandbox and/or video to help us reproduce the issue?

Thank you for your contribution. As this issue has been inactive for over 90 days, I will close it for now. If you'd like to reopen the issue, please reply and we can resume the triage process.


Missing fact, impractical code

v1.28.19
?- [user].
'[]'.
'[]' :- _ .
end_of_file.

?- listing.
[]:-call(_).
   true.
?-

Fact lost, Rule useless.

Is this really important? From a very formal viewpoint it is, but de facto this interferes with the built-in (.)/2 (like [user].) and term expansion mechanisms. Both are so far not standardized because there are so many tiny differences in their definition for some and more fundamental reasons for others. It's a bit like end_of_file. which according to 13211-1 should be a fact, but you too assume that it is not. And if you really want to define it, use end_of_file :- true..
Why this interferes with [user].: In many systems you can say [tier1,tier2...]. to prepare all those files for execution. So [] for preparing none fits in. At least this is the case for SICStus, Quintus etc. I'd say call systems in a closer DEC10 descendance.
And the other interference is the meaning of (.)/2 as principal functor in a Prolog text in many systems. Like SICStus:
| ?- [user].
% compiling user...
| [f(1),f(2),f(3)].
|
% compiled user in module user, 305 msec 514624 bytes
yes
| ?- f(X).
X = 1 ? ;
X = 2 ? ;
X = 3 ? ;
no

Thanks, I had forgotten about those.
On Mon, 9 May 2022, 14:58 UWN, @.***> wrote:

Is this really important? From a very formal viewpoint it is, but de facto
this interferes with the built-in (.)/2 (like [user].) and term expansion
mechanisms. Both are so far not standardized because there are so many tiny
differences in their definition for some and more fundamental reasons for
others. It's a bit like end_of_file. which according to 13211-1 should be
a fact, but you too assume that it is not. And if you really want to define
it, use end_of_file :- true..
Why this interferes with [user].: In many systems you can say
[tier1,tier2...]. to prepare all those files for execution. So [] for
preparing none fits in. At least this is the case for SICStus, Quintus etc.
I'd say call systems in a closer DEC10 descendance.
And the other interference is the meaning of (.)/2 as principal functor
in a Prolog text in many systems. Like SICStus:
| ?- [user].
% compiling user...
| [f(1),f(2),f(3)].
|
% compiled user in module user, 305 msec 514624 bytes
yes
| ?- f(X).
X = 1 ? ;
X = 2 ? ;
X = 3 ? ;
no
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/563#issuecomment-1120642675,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSESBFABH27XWNMIQH3DVJCLQVANCNFSM5VMSGGIA
.
You are receiving this because you commented.Message ID:
@.***>

v1.28.22
?- [user].
[].
"".

?- listing.
[].
[].
   true.
?-

Do not rely on it, should constraint extensions (clpz, chr) be included in Trealla, this will be gone.


compare two images

@nizhib Hi, thanks for your great work.
I tried to check the similarity between two faces and compare with the original insightface.
but different results made. this is my code base on your repository:
import torch
from imageio import imread
from torchvision import transforms
import time
import insightface
import numpy as np
import cv2
import sklearn
from sklearn.decomposition import PCA

embedder = insightface.iresnet100(pretrained=True)
embedder.eval()

mean = [0.5] * 3
std = [0.5 * 256 / 255] * 3
preprocess = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean, std)
])

face1 = imread("imgs/111.jpg")
tensor1 = preprocess(face1)

face2 = imread("imgs/112.jpg")
tensor2 = preprocess(face2)

with torch.no_grad():
    start = time.time()
    features1 = embedder(tensor1.unsqueeze(0))[0]
    features2 = embedder(tensor2.unsqueeze(0))[0]

    feature1 = features1.cpu().numpy()
    feature2 = features2.cpu().numpy()
    print(sum(feature2))
    x1 = feature1 / np.linalg.norm(feature1)
    x2 = feature2 / np.linalg.norm(feature2)
    feature1 = np.expand_dims(feature1, axis=0)
    feature2 = np.expand_dims(feature2, axis=0)
    f1 = sklearn.preprocessing.normalize(feature1).flatten()
    f2 = sklearn.preprocessing.normalize(feature2).flatten()
    dist = np.sum(np.square(f1-f2))
    p = np.dot(x1, x2)
    print(p, dist)

Hello! I see you comparing two faces embedding vectors one to another here and no info on what went wrong in your case. Could you provide more details?
Original and this-repo-driven embeddings are compared to be equal with 0.00001 tolerance in scripts/convert.py (assert np.allclose(mx_output, th_output, atol=1e-5)), you can check it on your own for inspiration and further investigation.


Might miss a padding?

Hi, good to find your implementation!
Here, I wonder whether miss a padding=patch_size//2
https://github.com/liuruiyang98/Jittor-MLP/blob/68d587729c05ceb47292cd6829bd32fc107b22ed/models_pytorch/conv_mixer.py#L18
Best

Thanks very much.
Yes, I got careless. It will be fixed as soon as possible.
------------------ 原始邮件 ------------------
发件人:                                                                                "liuruiyang98/Jittor-MLP"                                                                                @.>;
发送时间: 2021年11月8日(星期一) 下午4:06
@.>;
@.***>;
主题: [liuruiyang98/Jittor-MLP] Might miss a padding? (Issue #1)
Hi, good to find your implementation!
Here, I wonder whether miss a padding=patch_size//2
https://github.com/liuruiyang98/Jittor-MLP/blob/68d587729c05ceb47292cd6829bd32fc107b22ed/models_pytorch/conv_mixer.py#L18
Best
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


Add a test for a scoped package

Add a test for this commit https://github.com/rustbridge/neon-cli/commit/afcc283f3b7e5ee9c54b1e2fba8b4c9f683487d9.

LGTM

\o/

＼(^o^)／


Google life sciences tutorial needs more information about resource specification

Is your feature request related to a problem? Please describe.
In the google life sciences tutorial, somehow (and this is not explained) snakemake/GCP assign resources to jobs e.g.:
rule bwa_map:
    input: snakemake-testing-data/genome.fa, snakemake-testing-data/samples/B.fastq
    output: snakemake-testing-data/mapped_reads/B.bam
    jobid: 8
    wildcards: sample=B
    **resources: mem_mb=15360, disk_mb=128000**

However, this is not described well - where do mem_mb=15360, disk_mb=128000 come from?
I have run the tutorial today and I get:
rule bwa_map:
    input: may_2021_test/data/samples/B.fastq, may_2021_test/data/genome.fa.amb, may_2021_test/data/genome.fa.ann, may_2021_test/data/genome.fa.bwt, may_2021_test/data/genome.fa.pac, may_2021_test/data/genome.fa.sa
    output: may_2021_test/mapped_reads/B.bam
    jobid: 6
    wildcards: sample=B
    **resources: mem_mb=1000, disk_mb=1000**

This then results in an error that can be retrieved using gsutils:
  message: "Execution failed: allocating: creating instance: inserting instance: Invalid\
    \ value for field 'resource.disks[0].initializeParams.diskSizeGb': '1'. Requested\
    \ disk size cannot be smaller than the image size (10 GB)"

Describe the solution you'd like
I would like the tutorial to more elegantly describe how google cloud calculates resources needed for a particular rule and how best to specifiy them.
Specifically, how to tell google: (i) the number of cores to use, (ii) the memory per core
Describe alternatives you've considered
None
Additional context
None

Hi Mick,
thanks a lot for the explanation. Mem per thread is fine, but that is not something I would specify in the workflow. Instead, you can calculate that from the total mem_mb of the entire job when submitting the job. Such cluster specific expectations is what profiles are meant for: https://snakemake.readthedocs.io/en/stable/executing/cli.html?highlight=profile#profiles. These is also an SGE profile already available: https://github.com/Snakemake-Profiles/sge, that you could use as a template for adapting it to your own SGE instance. Ideally, I'd like to have every cluster one such profile provided to all its users. The admins could thereby also ensure that Snakemake behaves as they expect on their cluster.

Thanks Johannes. We've not migrated to cluster profiles yet, I'm sure we will at some point.
Thanks again for your help.

Hi Johannes
We are perhaps going a bit off topic here, but FYI (and this is probably my fault) I find the documentation about profiles completely opaque and I have no idea how to set a profile up for our local cluster, hence sticking with the now deprecated option of using cluster.json
I tried installing the SGE profile you mention above, but ran into a cookiecutter error:
$ cookiecutter https://github.com/drjbarker/snakemake-gridengine.git
You've downloaded /home/ubuntu/.cookiecutters/snakemake-gridengine before. Is it okay to delete and re-download it? [yes]: yes
A valid repository for "https://github.com/drjbarker/snakemake-gridengine.git" could not be found in the following locations:
/home/ubuntu/.cookiecutters/snakemake-gridengine

Filing issues on @drjbarker's repo seems to be not possible, and I have no experience of cookiecutter nor what it is trying to do
I am sure you have many many demands on your time, and so for the meantime I will stick with the old way of specifying cluster parameters
Cheers
Mick

Hi Mick,
Thanks for mentioning me in the ticket, probably I can help here.
I need to update the readme on the 'official' SGE profile. I think you should be using a different URL:
https://github.com/Snakemake-Profiles/sge.git

I install the profile into ~/.config/snakemake/sge/
Within ~/.config/snakemake/sge/ you can make a file cluster.yaml which contains custom resources and default options for SGE. Below is the example from one of our clusters at Leeds:
__resources__:
  coproc_v100:
    - "gpu"
    - "nvidia_gpu"
  node_type:
    - "node_type"
    - "machine_type"
  nodes: "np"
  ppn: "proc_per_node"

__default__:
  time: "48:00:00"
  join: yes
  output: logs/sge/snakejob.{rulename}.{jobid}.log
  error: logs/sge/snakejob.{rulename}.{jobid}.log

So there I am specifying 4 custom resources: coproc_v100, node_type, nodes, ppn which are the names of these resources in SGE. The quoted strings are aliases we can use to be more generic in the Snakefile.
The __default__ block sets the default options for SGE jobs. On this cluster we must always specify a h_rt (which is aliased to time - see https://github.com/Snakemake-Profiles/sge), I like to join cout and cerr and then give a default path to write those files to.
Within your Snakefile resources section you can specify resource parameters like memory=8 which for the SGE profile tells the job to set h_vmem=8G. Unfortunately Snakemake resources can only be integers and so we cannot use 8G. In the SGE profile I therefore decided that all memory requests are in gigabytes. Exactly what h_vmem=8G means with respect to threads depends on how your SGE parallel environments are set up. Sounds like your cluster is the same as ours and 8G means 8G per thread.
If you don't want to hack your Snakefile too much then you can also modify cluster options locally in a yaml file. For example:
__default__:
  time: "48:0:0"
  join: yes
  gpu: 1

magnetisation_classical:
  time: "24:0:0"
  join: yes
  gpu: 1

magnetisation_quantum:
  time: "24:0:0"
  join: yes
  P: phycm
  q: phycm.q
  gpu: 1

So here I am setting different SGE options and resources for different rules in the Snakefile. So you may want to do this simply so you can get the SGE behaviour you want without confusing runs on google.
To execute everything you would run:
snakemake --profile sge --cluster-config cluster.yaml

where snakemake should find the sge profile if you installed it in the path I mentioned above and --cluster-config takes the name of the local per rule options.
It's a little complex but by using local rules I've found I can get almost any desired SGE behaviour without breaking my Snakefile for use on other services.
Keep asking questions if something's not clear!
Cheers,
Joe


Sorting appears broken

Clicking on columns to sort appears to be broken from my testing. Can someone else test and confirm the same behavior?
Edit: By broken, I mean that clicking does sort, but does not produce accurate results in ascending or descending order.

404 not found, says dev console.


Failing to read files from S3 using glob string (might be encoding issue)

Describe the bug
Im trying to register a listing table using a certain glob string:
 s3://somebucket/somepath/*44fad0765ac6-00001.parquet
and receive the error
Error: Custom { kind: Other, error:
"Object Store error: Object at location
 somepath/%2A44fad0765ac6-00001.parquet not found:
response error \"No Body\", after 0 retries: HTTP status client error (404 Not Found)
for url (https://s3.eu-west-1.amazonaws.com/somebucket/somepath/%252A44fad0765ac6-00001.parquet)" }

however, I know the file is there because the action succeeds when I just using the full file name
s3://somebucket/somepath/00000-2367-2918fbc9-ea04-4927-a669-44fad0765ac6-00001.parquet
from the error, I have a feeling it's related to how the url and gloc char is being encoded, looks like its being encoded twice for some reason - from *  -> %2A -> %252A
To Reproduce
   let glob_str = "*44fad0765ac6-00001.parquet";
   let table_files = String::from("somepath");
   let table_files_path = format!("s3://{bucket_name}/{table_files}/{glob_str}");
   let table_files_url = ListingTableUrl::parse(&table_files_path)?;
   let schema_file_path = format!("s3://{bucket_name}/{table_files}/00000-2367-2918fbc9-ea04-4927-a669-44fad0765ac6-00001.parquet");
   let schema_file_url = ListingTableUrl::parse(&schema_file_path)?;
   println!("table_files_url: {}", table_files_path);

   let file_format = ParquetFormat::default()
.with_enable_pruning(Some(true));
   let listing_options = ListingOptions::new(Arc::new(file_format))
.with_file_extension(".parquet");

    let schema = listing_options.infer_schema(&ctx.state(), &schema_file_url).await?;

    let table_config =
        ListingTableConfig::new(table_files_url) // the path of the files
        .with_listing_options(listing_options)
        .with_schema(schema);

    let table_provider = Arc::new(ListingTable::try_new(table_config).unwrap());

    ctx.register_table(TableReference::from("users"),table_provider).unwrap();
    let df = ctx.sql("SELECT count(*) FROM users").await?;
    df.show().await?;

Expected behavior
the files that correspond to the glob string will be registered as a table.
In the code above if I just switch between the ListingTableUrl with the globe string to that of the schema the code executes successfully (so no permissions issue)/
Additional context
My Cargo.Toml
aws-config = "0.55.3"
aws-sdk-s3 = "0.28.0"
object_store = { version = "0.6.1", features = ["aws"] }
url = "2.4.0"
async-graphql = "6.0.4"
async-graphql-actix-web = { version = "6.0.4"}
actix-web =  { version = "4.3.1" }
datafusion = "28.0.0"
tokio = { version = "1.32.0", features = ["full"] }

Glob expressions are currently only supported for local files, the docs can be found here - https://docs.rs/datafusion/latest/datafusion/datasource/listing/struct.ListingTableUrl.html#paths-without-a-scheme
I can't remember the context on why though, I think it was to avoid needing to escape glob expression... It should be possible to add an API to allow creating a listing table with a prefix and a glob expression

Thanks @tustvold ,
I think its very useful, especially when we want to register a table  on a certain partition path - e.g. s3://somebucket/data/source=/env=prod/.parquet

+1 for this feature, it would be very handy to register multiple "subfolders" in S3 bucket with parquets as a single table with a glob expression


Skewed ratel tabs on safari browser

The ratel tabs (json, graph, query, geo) doesn't look proper in safari browser as can be seen in the following image -

Not a big issue though, just flagging it.

That's weird. Looks fine to me in Safari 13.1
However, if I cmd-minus a couple of times I get very similar oversized icons.
@praneelrathore have you tried Cmd+Zero? Maybe the tab accidentally got zoomed out?

I'll close the issue for now. Please re-open if it's not a zoom issue


[3.2] [HTML5] Optional GDNative Support

3.2 version of #44076 .
As mentioned, the GDNative variant requires emscripten 2.0.10+, I'll update the build containers to install both versions and use the correct one for GDNative (this will mean no gdnative with C# on HTML5 until mono can be built with a new emscripten version).

Thanks! :tada:

@SIsilicon sure, thanks for the reminder, I had totally forgotten. PRed here: https://github.com/godotengine/godot-cpp/pull/530


FIX issue with AY being 1 more than indicated in planner

Already did code review on this pull request in #186. Mainly contains the fix to AY initialization bug


Event not firing

I have tried to include waypoints into my Struts 2 web application. The purpose was to grab a scroll event and hide/show a couple different elements.  For some reason the event is not being captured when I scroll.  The event will capture after a page resize but not before.  Here is the code in question, the first console message shows that Im in the ready function but the second does not show upon scrolling.  Is this a bug?
$(document).ready(function(){
  var tabContainerHeight = $('.tabContainer').outerHeight(true);
  var origTblWidth;
  console.log('inside ready func');
  $('#origTbl').waypoint({
    handler: function(event, direction) {
      if(direction === "down"){
         origTblWidth = $('#origTbl').width();
         $('#tHeader').addClass('sticky');
         $('#tHeader').width(origTblWidth);
         $('.sticky').css('top', tabContainerHeight);
         $('#tHeader').removeClass('elHide');
      }else{
         $('#tHeader').addClass('elHide');
         $('#origTbl tr:first-child').removeClass('sticky');
      }
      console.log('waypoint reached');
    }
  });

  $(window).on('resize', function(){
    origTblWidth = $('#origTbl').width();
    $('#tHeader').width(origTblWidth);
  });
});

Handlers in waypoints haven't been passed the event parameter since 1.x. I'm sorry to say you've run into an old an poorly kept tutorial.
Besides that, I have no way of really debugging your code. The code sample is nice but it is hard to say without a live site.
I also need to mention that the Contributing Guidelines and Readme note that this is a bug tracker, not a help forum. Stack Overflow, specifically this tag are great for asking usage questions and getting answers, assuming you've followed the helpful guidelines for asking good questions.

Im actually using 1.1.7, my IS shop does a less than stellar job of keeping things up to date. I had been advised by the team that brought Waypoints in that they had exhausted their debugging efforts and they thought this was a potential bug in the library.

@henlnhl It's still impossible for me to debug further without seeing the bug in action. If you would like to provide a link, please do that and reopen the ticket.


Added kiloPascal

Added PRESSURE.kiloPascal

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (d117c7e) 99.78% compared to head (c1c9588) 99.78%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #42   +/-   ##
=======================================
  Coverage   99.78%   99.78%
=======================================
  Files          32       32
  Lines         916      918    +2
=======================================
+ Hits          914      916    +2
  Misses          2        2

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

Thanks!


Issue 713: Add commandline option for location of rfi files

command line option for rfi files
new argument of Parser and Integration for rfi files location
move all rfi file handling to Integration class
move testing accordingly
new test for different location of rfi file

For #713

Do you know what's going on with that failed test? Shall I just retry by repushing the commit (e.g. with a slightly different commit message)?

Do you know what's going on with that failed test? Shall I just retry by repushing the commit (e.g. with a slightly different commit message)?

I had the same issue lately and it vanished after a while. Looks like an upstream Alire issue. No need to push with a different commit message - you can just hit rerun in the Github actions (after it failed or after you canceled the run).

I had the same issue lately and it vanished after a while. Looks like an upstream Alire issue. No need to push with a different commit message - you can just hit rerun in the Github actions (after it failed or after you canceled the run).

In this case there were review comments anyway ... But thanks for the info, I was looking for that option elsewhere and couldn't find it.


Translated pages are unpronounceable by assistive tech

Issue found while visiting the Scottish Government's Device Lab
When testing with VoiceOver on iPad I found that these pages can not be accessed at all.
https://www.gov.uk/government/world/saudi-arabia
https://drive.google.com/file/d/0B-GzTJBVVSNzcnpQa2d6Nk5fVjA/view?usp=sharing
I think this could be solved by making sure we're setting the right lang attribute  https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang
I've tested the BBC Arabic site and VoiceOver was able to read that fine.

Link to the ar version should have lang="ar" and hreflang="ar". The ar page should have <main lang="ar"> with appropriate lang="en" sections.

https://github.com/alphagov/whitehall/pull/2895 and https://github.com/alphagov/government-frontend/pull/204 need to be built-upon to add the hreflang attribute.

I might be wrong about hreflang actually as the whole page is still lang="en", it just has alternate language sections. The lang Attribute is still needed.

But if the majority of the content on the page is in another language, is lang="en" still right for the <html> tag, or should we instead be marking up English where it appears?

Yeah, <html lang="en"> is correct on GOV.UK. In terms of tree structure, the top level content (i.e. header and footer) is in English, and it’s only when you get into the content that you would need to mark that up as lang="xx". HTML language works on the tree rather than majorities.

Now tracked https://trello.com/c/O3Dqb6HR/40-fix-screen-reading-for-translated-pages, because it's not a Whitehall-specific issue.


How hard to add full-fidelity round-tripping?

How difficult of a change would it be to add support for full-fidelity round-tripping?
I see you have already added the beginning of support for normalization (#155), but in my view, normalization is distinct from round-tripping. To be clear, I mean I'd like to be able to parse the document, then (assuming I don't make any changes), write it back out (as markdown), and the result should be byte-for-byte identical.
The reason is that I'd like to make certain programmatic transformations of large bodies of documents, but I can't be going in and "normalizing" everything (that would actually be desirable at some point as a separate exercise; but it's just too much change for now).

How difficult of a change would it be to add support for full-fidelity round-tripping?

Quite some work, difficult to say in details as I haven't touched the code deeply for the past 2 years. But there are many parts that are today completely discarded (e.g exact number of spaces in all situations - blank lines - spaces after list items...etc.)
But It is certainly doable.

Thank you!


Make a Discord Server or a Gitter Chat?

This would be awesome for the EnTT community which grow's up !

Gitter! :laughing:

I just saw that EnTT isn't available as a name on Gitter. Suggestions? :smile:
I was thinking about entt_ecs or entt_cpp or whatever.

EnTT is more than an ECS ! entt_framework <3 ?

It could be also entt_cpp... who know if in future someone decides to join me and develop a version with JS or C# or whatever?

If only we could discuss the name for the Gitter channel on the Gitter channel before creating it, but then we’d have a pesky deadlock to worry about.

I just saw that EnTT isn't available as a name on Gitter. Suggestions?

@skypjack well, I just created a room with that name to test and had no problems :confused:

@Alan-FGR GitterLoggerBot? O.o

Yeah, in my darkest hours :trollface:... anyway, I don't see why you wouldn't be able to create EnTT/EnTT

Here it is. Thank you guys. See you soon.

@skypjack Put link into README file.

You can connect to Gitter with a irc client, check this out: https://irc.gitter.im/


Cannot type the letter "c" with Input prompt

Hey there,
thanks for this pretty amazing module! Unfortunately I encountered this weird bug.
  const email = await Input.prompt(
    {
      message: `What's your email?`
    },
  );

I cannot type an email containing the letter "c" (the c doesn't display).
Platform: mac
Deno: 1.0.0
deno-cliffy: 0.7.1

I guess this comes from
https://github.com/c4spar/deno-cliffy/blob/master/packages/prompt/lib/generic-input.ts#L37

Hi @mattallty,
thx for your compliment and the issue!
Yes it seems i forgot to call .addChar(). I will fix this.
I could also remove this case statement completly because deno supports hanlding os signlas now. But the feature is still unstalbe. https://deno.land/manual/examples/os_signals

Hi @mattallty,
the issue should be fiexed in v0.8.1.
But i didn't remove the ctrl + c handling because i tried Deno.signal and it didn't work for me.

Thanks a lot - Really appreciate! 👍


Implement the aiosqlite library so that our bot can store data in an asynchronous way

Issues like #3 might require some level of data storage for the program to keep track of data for longer periods of time.
models.py is for data structures outlining data stored outside program memory (such as .env). Anything we put into a database should probably be defined there.
I am initially recommending aiosqlite, an asynchronous implementation of SQLite, though MongoDB might work as well.
Further discussion is likely required

I've decided to go with aiosqlite. I'll open a branch for it and start getting it working.


Disallow unknown fields in 29-fee ack

@colin-axner was the concern here that some counterparty to populate additional fields into the acknowledgement and have that emitted from ibc core in events? https://github.com/cosmos/ibc-go/blob/main/modules/core/04-channel/types/acknowledgement.go#L88-L92
The request would be to implement a custom unmarshalJSON function with a new jsonpb.Unmarshaller https://pkg.go.dev/github.com/golang/protobuf/jsonpb#Unmarshaler with AllowUnknownFields as false, correct?
I think this is already the case with the proto codec in cosmos-sdk here: https://github.com/cosmos/cosmos-sdk/blob/main/codec/proto_codec.go#L204
The field is not filled in so should be default to false

Aha, thanks @DimitrisJim. So as is stands we're json marshaling the ack and proto3 json unmarshaling. I'd still be curious to see how this performs since the proto3 json unmarshaler should disallow unknown fields too.
But the general ask for this issue is adding:
func (ack IncentivizedAcknowledgement) UnmarshalJSON(bz []byte) error {
   // same impl as FungibleTokenPacketData
}

ref: https://github.com/cosmos/ibc-go/blob/main/modules/apps/transfer/types/encoding.go#L9


Update libcurl

Reasons for the error on apple platform: https://github.com/curl/curl/issues/14269

we can add https://github.com/curl/curl/commit/5f6b9244ceecbb1e1b9c08bda5c9292f23f4ea57 as a patch for versions where it fails

we can add curl/curl@5f6b924 as a patch for versions where it fails

Thanks, I'm doing this.

I think it's ready to be merged now.


Add new SwitchoffFile

Add new SwitchoffFile reason 11 flow rate.

I'm curious again and want to learn more about the parameters: Do you happen to know what this is representing? I know you are only the one adding an additional code, but maybe there are some more details that you know about it?

LGTM


Update stream-analytics-event-hub-consumer-groups.md

Fix the query since there was a syntax error in using WITH clause

@rikat-ms : Thanks for your contribution! The author, @jseb225, has been notified to review your proposed change.

@sign-off Thanks for catching this error.


[info] How can i use this in a windows C# Application.

Hello ,
This is not an issue , but a request for info.
Is it possible to send the command to the tapo bulb over wifi from a C# application ? What modifications i have to do. .Please suggest.

It is possible, but it is quite an involved process.
You would have to call Rust code from C# using FFI. See https://github.com/Cysharp/csbindgen/


Update docker instructions

Using the sphinx tabs plugin, we could improve the instructions using the docker container.
Choosing one tab switches all group-tabs at once (as known from docs.ros.org). What do you think? Did that only for example 1, but would apply the changes to the others, too.

what was the problem with spinhx? I always clone the three subrepos manually or create symlinks into the folder.

I simply changed
declare -A subrepo_url=( ["ros2_control"]="https://github.com/ros-controls/ros2_control" ["ros2_controllers"]="https://github.com/ros-controls/ros2_controllers" ["ros2_control_demos"]="https://github.com/ros-controls/ros2_control_demos" ["gazebo_ros2_control"]="https://github.com/ros-controls/gazebo_ros2_control" ["gz_ros2_control"]="https://github.com/ros-controls/gz_ros2_control")
declare -A subrepo_pr=( ["ros2_control"]=$ROS2_CONTROL_PR ["ros2_controllers"]=$ROS2_CONTROLLERS_PR ["ros2_control_demos"]=$ROS2_CONTROL_DEMOS_PR ["gazebo_ros2_control"]=$GAZEBO_ROS2_CONTROL_PR ["gz_ros2_control"]=$GZ_ROS2_CONTROL_PR)

to
declare -A subrepo_url=( ["ros2_control"]="https://github.com/ros-controls/ros2_control" ["ros2_controllers"]="https://github.com/ros-controls/ros2_controllers" ["ros2_control_demos"]="https://github.com/christophfroehlich/ros2_control_demos" ["gazebo_ros2_control"]="https://github.com/ros-controls/gazebo_ros2_control" ["gz_ros2_control"]="https://github.com/ros-controls/gz_ros2_control")
declare -A subrepo_pr=( ["ros2_control"]=$ROS2_CONTROL_PR ["ros2_controllers"]=$ROS2_CONTROLLERS_PR ["ros2_control_demos"]=improved_docker_description ["gazebo_ros2_control"]=$GAZEBO_ROS2_CONTROL_PR ["gz_ros2_control"]=$GZ_ROS2_CONTROL_PR)

in
https://github.com/ros-controls/control.ros.org/blob/master/make_help_scripts/deploy_defines
no need to clone locally the subrepos as it is done by the script.

@christophfroehlich sorry I fixed some minor issues and did this by commiting directy on your branch. Hope this is fine.

@mergifyio backport humble


added makefile

Inspired by @Mingling94's Makefile

This is a bad makefile :)
all should assume that you have all of the dependencies and should build the project.
all: install

install:
    go install ./...

Otherwise it looks fine.

The go command was designed to obviate the need for simple Makefiles. In this case there isn't a clear reason to have a Makefile; not yet at least. Even in https://github.com/NebulousLabs/Sia, the Makefile is really just a set of convenient aliases.

I really like Makefiles. But Luke is right, Sia really only needs one because we use a lot of tags and have a lot of packages, and it makes running certain commands easier.
This makefile does a lot less, mostly it just brings greater accessibility to people familiar with Make but not with golang.

I can close this. It was just an quick makefile.

:p

YEAH AARON, let that be a lesson to you!

(try to keep it professional)


admin/authorization: general concepts should be separated from plugin specific info

Currently a lot of general authorization concepts are split up between the ABAC, RBAC, and webhook sections. These topics include:

Non-resource paths (/apis, /swagger).
What verbs to expect and what powers they grant.
Dealing with service accounts.

Currently I have to read the entire document to learn all the necessary information. For instance, RBAC doesn't mention non-resource paths, so if a user only reads that section they'll miss something critical (see example[0]).
cc @erictune @liggitt
[0] https://stackoverflow.com/questions/38299105/how-to-use-rbac-in-kubernetes

/remove-lifecycle rotten


pythonPackages.inotify-simple: 1.2.1 -> 1.3.5

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 131631 at 6a125ca9 run on x86_64-linux 1

4 packages built successfully:

paperless
python38Packages.inotify-simple
python39Packages.inotify-simple
xkeysnail

1 suggestion:

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/inotify-simple/default.nix:17:0:
   |
17 |     description = "A simple Python wrapper around inotify";
   | ^

Sorry, I will fix my mess soon.

I cherry-picked the first change and fix the whitespace issue in #131655


Asking for help

Hello!
My dream is to create a ANSI C compiler (using C#), but I'm a bit lost
Regarding the parser part, I've played with a very nice parser combinator library (https://github.com/datalust/superpower), and I really love how simple it is. But in fact, they're so simple that they aren't able to deal with left-recursion.
That's why I got interested in GLL parsers, because they said it was a way to fix the problems with parser combinators... until I find out that the literature is really complex and there isn't entry-level stuff around the Internet.
So here I am. I will investigate a bit more, but just in case you want to answer me, I would like to ask you a question:
What would you do if you were me?
I mean, would you attempt to create an ANSI C compiler back then? or maybe today you would totally reject doing that because of reasons?
What steps would you follow if you decided to go ahead?
Would you target an existing machine, like x86/x64, or invent a (invented) virtual architecture (to simplify things).
Thanks a lot!

Hi @SuperJMN,
thank you for asking.
TLDR
You might find studying the source of these compilers useful. Their code bases are really small and comprehensible.

8cc C Compiler -- 8cc is a compiler for the C programming language. It's intended to support all C11 language features while keeping the code as small and simple as possible. The author described their experience writing this one in a blog post How I wrote a self-hosting C compiler in 40 days

chibicc: A Small C Compiler -- Even though it still probably falls into the "toy compilers" category just like other small compilers do, chibicc can compile several real-world programs, including Git, SQLite, libpng and chibicc itself

Parsing
Was in a similar spot re parsing.
Parsing theory is a really interesting field of computer science, but it gets really complex really fast, just as you say.
Using a parser combinator or parser generator sounds like a good way to save time and effort vs writing a parser by hand.
But in my opinion what's more important to us, hobbyist compiler writers, is having a working example that we can look at and fully understand. And all such example compilers I managed to find have hand-crafted recursive descent parsers. So that's what I would suggest you go with. Once you get into the groove, you'll realize it isn't all that hard to write after all.
What's interesting, production-grade compilers like g++ and clang have hand-crafted recursive-descent parsers. So if decide to go this route, you'll experience will actually be closer to "real" compiler developers :)
The example compilers I'm talking about are:

8cc C Compiler
chibicc: A Small C Compiler
Tiny C Compiler
lcc

The last two are much bigger than 8cc and chibicc and don't have easy of studying as their explicit goal.
Roadmap

What would you do if you were me?

I would surely write a compiler :)

I mean, would you attempt to create an ANSI C compiler back then? or maybe today you would totally reject doing that because of reasons?

C is considered to be a small language, but that's a bit deceptive. Writing a C compiler isn't a small project. You might want to keep that in mind depending on how much time you can dedicate to it.
But don't get discouraged, after all Rui Ueyama did 8cc in 40 days and fewer than 30 files with code. Though it seems he is insanely productive :)

What steps would you follow if you decided to go ahead?

I would pick a bit of theory.

Read the Introduction to Compilers and Language Design book and keep it handy. Just keep in mind we're going to do a hand-crafted parser, when going through the parsing chapters.
Read about doing scanner (aka lexer) and parser in Crafting Interpreters. Don't get distracted by the word Interpreters in the title -- the same scanning and parsing techniques are relevant for compilers and interpreters.

Study the source code of [8cc][https://github.com/rui314/8cc] (or maybe chibicc -- didn't know about chibicc when I was going through these steps)
Finally, try and write your own compiler

Would you target an existing machine, like x86/x64, or invent a (invented) virtual architecture (to simplify things).

If I was writing a C compiler I would definitely target an existing machine, most likely x86/x64. You'll want the compiler to compile programs that invoke libc functions like printf, scanf, etc. To do that, you'll need to use an existing libc, so the compiler needs to target an existing machine. (I never researched reimplementing libc, even a minimalistic version, my feeling is it's much better to use an existing one especially for someone's first compiler.)
Good luck!

Hi Mykola.
I smell goodness wherever it is, and I feel you are the kind of person that I'd call a mentor. I hardly fail when it comes to this perceptions.
Thanks for the time to think and write this helpful piece of gold. This is such a great advice!
I'll study every link, project and book you recommended. I've already got a glance at 8cc and look really promising. The fact that he even wrote a log with a short description of the goals and challenges he found is fantastic. I felt somewhat identified with some of his thoughts when I attempted to create a C compiler (https://github.com/SuperJMN/Plotty). It became a failed attempt at some point, but it was useful to make me realize I needed to "level up", if I may use this expression.
I thank you once again, and if you ever feel the need to create a C compiler, please, let me know. I will always be interested and will follow your work. You're already an authority for me.
Best wishes from Spain,
José Manuel.


Cannot reference a regex subgroup in "Find in Files"

VSCode Version: 1.16.1
OS Version: Windows 10 Home 64-bit

Steps to Reproduce:

Create a random folder with a single text file inside it.
Open the created folder using vscode.
Open the text file, write hello,hello,world and save it.
With the file open, click the search icon and paste the following regex into the search field: ([a-z]+),\1. Make sure the regex option is selected.
Perform the search and observe that a single result has been returned.
Close the file and perform the search again. Observe that no results have been found.
(Optional) set search.useRipgrep option to false and observe that the search now works as expected.

Reproduces without extensions: Yes

This is expected - search is powered by the ripgrep tool, which doesn't support some advanced regex features like backreferences.

@roblourens Thank you for the explanation. After your reply, I found #27802 which describes exactly the same issue.
I think the problem stems from inconsistency. Back references work in some cases (open files) but not others. This is confusing at best and misleading at worst. For a moment, I was lead to believe that there were no results, other than those found in my open file.
I don't know why ripGrep was chosen as a default search tool, but I think it would make more sense to give users the full features and allow them to choose the performance option, if they are happy to sacrifice some functionality. The added benefit is that the users can be made fully aware of the trade-offs in the documentation.

Yeah, I understand that it's confusing. I think I should use #27802 to detect and disable searches with backreferences entirely to cut down on the inconsistency. Technically you can disable ripgrep with "search.useRipgrep": false but don't expect that to be an option forever.

When you say that search.useRipgrep option may not be there forever, are you saying it will become the only search option, even though it has limited regex support?
While I think disabling back references would be better than the current situation, I would hate losing that feature. Would it be possible to only disable back references when search.useRipgrep is set to true?
What is your opinion on making ripGrep optional?

The old search code is definitely going to go away at some point, but we may allow extensions to power search at some point. In that case, someone could build an extension with a different search implementation that supports other regex features.


Include .css files into the bundle.

Sometimes plain .css files are also imported, for example, @fontsource fonts.

Do you mean include .css files that imported by .scss files?
In your solution, .css files imported by JS will also be included, I think that's not a reasonable way.
In general, I suggest you handle css bundle with another plugin.

Yes, for library projects it could be convenient to import plain css files from within js/ts as well to include them into the bundled scss file.

No, I think for most use cases, CSS from JS should not be considered as SCSS outputs.
This plugin doing simple things, find SCSS files and bundle them, maybe CSS should be handled by other process.


Adding Gradle Support

Closing this PR as we decided to keep the gradle dependencies local only and it's not compulsory change.


fixed psm1 contatination issue

The build process was adding the functions to the psm1 file without cleaning it out between interations.
Close #122

Why doesn't VS code offer spell check for commit messages!


Update stack (pull image) via the portainer API

Can not pull new image when a I updated the stack with API
When I launched the update of the stack with the api  api/stack/id/stop abd api/stack/id/start, the stack don't not pull the new version of the image
The possibility to pull new version of the image via the API
Pull new version of the image with API call
Pull Image in the GUI
I use the graphical interface (not automatic) to pull image.

Closing this as a duplicate of https://github.com/portainer/portainer/issues/6155


[ ] BugError c.defalut.component undefined when using react-grid-layout.min.js without webpack

Hi,
We are using ES5 without webpack to integrate react-grid-layout and followed as specified in readme.md to use react-grid-layout.min.js  when compiled the js file throws error component undefined .
we also used /tree/dist/react-grid-layout.min.js which uses "exports" which is part of Webpack .
Could you also please suggest on using react-grid-layout without ES6 & Webpack.

I think it still can be reproduced in IE


Collection::groupBy should not return a new static() because that might be an EloquentCollection

Laravel Version
11.23.5
PHP Version
8.2.14
Description
Currently, a collection groupBy() returns the same type of collection, containing the same type of collection: @return static<array-key, static<array-key, TValue>>. That's good for the base collection, of children that accept any type of TValue, but not for EloquentCollection, because that doesn't accept any type of TValue, but only Model: @template TModel of \Illuminate\Database\Eloquent\Model. So groupBy() should check for that (or EloquentCollection could overwrite groupBy()) to not return new static, but new Illuminate\Support\Collection.
Steps To Reproduce
$users = User::all();
assert($users instanceof EloquentCollection); // 🟩

$groups = $users->groupBy('status');
assert($users instanceof EloquentCollection); // 🟥 because EloquentCollection should only contain Model, not EloquentCollection
assert($users->first() instanceof EloquentCollection); // 🟩

Fixing might be super backward incompatible, but it is correcter. Workaround is pretty simple though: add in custom model collection (which everyone has, right?):
/** @return BaseCollection<array-key, $this> */
public function groupBy($groupBy, $preserveKeys = false) {
	$groups = parent::groupBy($groupBy, $preserveKeys); // temporary 'impossible' EloquentCollection of EloquentCollections
	return BaseCollection::make($groups->all());
}

I wonder if this is related to my issue #53283

Funny, I came across a similar thing earlier when I was trying to write a docblock for the output. Larastan also apparently does some magic with this. https://github.com/larastan/larastan/pull/1860
In my opinion, there's nothing that stops an EloquentCollection from containing things other than Models (other than good sense). It seems a bit inconvenient to convert this to a base Collection for a case like this.
// Get all orders that have shipped
$orders = Order::where('status', 'shipped')->get();

// Group them by the shipper
$shipperToOrdersCollection = $orders->groupBy('shipper');

foreach($shipperToOrdersCollection as $shipperName => $ordersCollection) {
    // Check the status of the shipment
    $shippingStatus = ShipperApi::for($shipperName)->getShippingStatus();
    // Update all of the orders with the latest status
    $ordersCollection->toQuery()->update(['status' => $shippingStatus]);
}


Update v1.4.md

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

hello all you need to update this unless you are trying to confuse people on your 1.4 announcement, too late I guess


Tests error

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the issue
Hi team, thanks for meeting today! As discussed, when deploying the package, got 2 tests errors:

not_null_stg_quickbooks__bill_linked_txn_bill_payment_id
dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_unique_id__source_relation
The GL unique_id error seems to be the result of us having account IDs that have the same name.
The bill txn error seems to be the result of having unpaid transactions that have no payment ID

Thanks! - Ron
Relevant error log or model output
19:05:26  81 of 167 START test not_null_stg_quickbooks__bill_linked_txn_bill_payment_id .. [RUN]
19:05:26  81 of 167 FAIL 405 not_null_stg_quickbooks__bill_linked_txn_bill_payment_id .... [FAIL 405 in 0.14s]

19:05:31  157 of 167 START test dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_unique_id__source_relation  [RUN]
19:05:32  157 of 167 FAIL 21773 dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_unique_id__source_relation  [FAIL 21773 in 0.27s]

Expected behavior
We discussed changing the GL unique ID to kep off account ID and not name, and consider removing the payment_id not null test
dbt Project configurations
Vanilla config, no changes made..:
# Name your project! Project names should contain only lowercase characters
# and underscores. A good package name should reflect your organization's
# name or the intended use of these models
name: 'my_new_project'
version: '1.0.0'
config-version: 2

# This setting configures which "profile" dbt uses for this project.
profile: 'default'

# These configurations specify where dbt should look for different types of files.
# The `source-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

target-path: "target"  # directory which will store compiled SQL files
clean-targets:         # directories to be removed by `dbt clean`
  - "target"
  - "dbt_packages"

# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models

# In this example config, we tell dbt to build all models in the example/ directory
# as tables. These settings can be overridden in the individual model files
# using the `{{ config(...) }}` macro.
models:
  my_new_project:
    # Applies to all files under models/example/
    example:
      materialized: view

Package versions
packages:

package: fivetran/quickbooks
version: [">=0.7.0", "<0.8.0"]

What database are you using dbt with?
postgres
dbt Version
1.4
Additional Context
No response
Are you willing to open a PR to help address this issue?

[ ] Yes.
[ ] Yes, but I will need assistance and will schedule time during our office hours for guidance
[ ] No.

Hi @ron-keler thanks so much for opening this issue.
I see you were able to meet with members of our team today to discuss the test failures you are experiencing. I appreciate the detail you provided in the bug report and I believe we have an understanding that a few tests need to be adjusted following the latest updates we released.
I will accept this issue and our team can pick this issue up in our next sprint. In the meantime, you may be able to downgrade the package and use the previous version to hopefully resolve the current test failure you are experiencing. If the same issue persists on the previous version, we can take a closer look and see if we can get this fix prioritized.
Thanks!

Thank you Joe for your help and support! The team i met with was fantastic, and the fivetran packages are terrific, quickbooks included! Real accelerator for Fivtran and dbt clients!
I tried to downgrade to version 6. This resolved the dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_unique_id__source_relation error, but I am still getting the not_null_stg_quickbooks__bill_linked_txn_bill_payment_id...
Looking forward to the next release! Thanks - Ron


Retry circut breaker or retry budget for HTTP client

Techniques are described at https://habr.com/ru/companies/yandex/articles/762678/
Internal ticket: 7677

i will do this task

is retry circuit breaker still relevant today?


libc: Replace nuttx/lib/math.h with math.h

Because user may replace math library with other implementation
Summary
Impact
No funtionality change.
Testing

@xiaoxiang781216 This change, and commit https://github.com/apache/incubator-nuttx/commit/d17b963bcab98e2d2f641623547837a8d3fe94cd breaks some default configurations, for example stm32f4discovery:audio, that would at least need.
 CONFIG_INTELHEX_BINARY=y
+CONFIG_LIBM=y
 CONFIG_MAX_TASKS=16

Not sure how does that pass in the nightly build.

But I can build stm32f4discovery:audio without any problem, here is my gcc version:
arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/home/xiaoxiang/mirtos/prebuilts/gcc/linux/arm/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
Target: arm-none-eabi
Configured with: /mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/src/gcc/configure --target=arm-none-eabi --prefix=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native --libexecdir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/lib --infodir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/arm-none-eabi --build=x86_64-linux-gnu --host=x86_64-linux-gnu --with-gmp=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr --with-mpfr=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr --with-mpc=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr --with-isl=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr --with-libelf=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major' --with-multilib-list=rmprofile
Thread model: single
gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU Tools for Arm Embedded Processors 9-2019-q4-major)

For me it's gcc version 10.1.0
There are also the Github checks that aren't having any issue with this.  So this might be my GCC version, I'll look into it.


plugins/permissions: slash commands max 4000 chars

Closes: #2405
Upstream: https://github.com/discord/discord-api-docs/commit/5582b28c5c7c39055e09e4559bcbe9dfc8dd12ca
TL;DR: Slash commands can have a maximum of 4000 characters for combined name, description, and value properties for each command, its options (including subcommands and groups), and choices. When localization fields are present, only the longest localization for each field (including the default value) is counted towards the size limit.
PLEASE HELP ME SEMANTIC COMPRESSION THE CODE IT'S CURSED

Some context / elaboration:
options.nameLocalizations ? Math.max(options.name, ...Object.values(options.nameLocalizations)) : options.name


EDA on stack overflow dataset-2018

I added more visualizations , found out the correlations between them and then performed analysis on different sections like employment, job satisfaction, language used next year and all.

can you refer to the issue you raised.
you can do that by typing # and find relevant issue .
sample #74

#27 this is the issue that I worked on sir.

All the before code is there in this sir. I combined everything and only added that sir.. @sanjay-kv .


New docs colours are harder to read

Hi @tiangolo,
This may be a personal opinion, but I find the new dark grey background for the docs quite difficult to read. The contrast with the sub menu in the top right is smaller, and the code snippets and examples stand out less - just generally I have found myself slower navigating the docs than previously.
Of course you might have had the complete opposite view from others, in which case feel free to close this issue! I thought i'd raise it just in case this background colour change was either accidental or not considered.
Thanks, and love the lib as always :)

Ah, I think my question is succinctly summarized by this comment: https://github.com/tiangolo/fastapi/issues/725#issuecomment-662447763
A manual switch would be great.

Feel free to open an issue at squidfunk/mkdocs-material, which is what FastAPI uses for its docs, ideally with some screenshots explaining the issue.

I encountered the same problem as you. It seems to be an official adaptation to the color theme. You can change your computer theme to bright colors.

Material for MkDocs 5.5.7 was just released, which ensures a contrast ratio of 4.5:1 for both, light and dark themes.

Thanks for the suggestion @DeNeutoy ! :nerd_face:
And thanks for the discussion here everyone. :coffee:
@squidfunk has been doing an amazing job with Material for MkDocs and the contrast should be better now, apart from the light/dark toggle. :tada:
(That was actually done quite some time ago but I'm slowly trying to review all the issues and I got here until now :sweat_smile: )

Ya, and the explicit toggle completely removes this problem anyway, as I can just switch without having to change my laptop's defaults. Thanks!


[Feature request] Don't just warn about wrong stream length -- report the correct value too

When checking a PDF with qpdf --check a.pdf QPDF rather reliably reports and warns about cases where the stream length is not correctly contained in the PDF code. Example:
qpdf --check 4pix.pdf
 checking 4pix.pdf
 PDF Version: 1.3
 File is not encrypted
 File is not linearized
 WARNING: 4pix.pdf (object 6 0, file position 1376): attempting to recover stream length

It even says "attempting to recover stream length".  However, it does not tell the user which stream length it deems to be the correct one.
It would be nice if QPDF reported the correct stream length here.

Yes, agreed.


move rpc raw transaction functions out of bitcoinrpc to their own file.

An untested YAY! I can't wait until we split up all the RPC code.

Now a tested LGTM! Confirmed raw transactions via RPC can still be called.


Failure on loading long quoted values

Tried to set the environment variable like
PRODUCT_KEY="......"
with the comparatively long value (200+ characters). The phpdotenv Loader failed to load it (which resulted in "connection reset" error in Firefox). It looks like the problem arises when calling the preg_replace function from Loader::sanitiseVariableValue.
I am using WAMP (on Windows 7), PHP 5.5.12. Didn't check it on other OS/PHP versions. Have played a little with pcre settings in php.ini, but to no success. It is possible that the value critical length limit depends on environment; in my case, it is equal to 195 characters.

I've just retrieved successfully a 17825 char string.
Have you configured your PHP development box to display error messages?

It looks like PHP is just crashing silently. I see only reports in logs of Apache and Windows Event Viewer. File php5ts.dll is the faulty one. I don't know much of regex functions, but now I suspect that the bug is in the PHP itself rather than in phpdotenv. If you think the same, feel free to close the issue.

I've located the problem, and it is not related to DotEnv, so I am closing the issue. The problem lies in Apache for Windows, it has a really tiny stack by default, so even not too deep recursion leads to its crash (and, I believe, regex function use recursion a lot). I've increased the stack, and now everything works smoothly. Thanks for the useful tool (and sorry for the false alarm)!

MS-DOS, et al, used to also have a very limited mechanism for the environment.
I don't know how much has changed, but the environment was stored in a page (or pages) of ram before the application was loaded from the shell.
As a consequence, an application could manipulate the environment to a certain degree - upto the page boundary. After that ... BOOM!
I'm hoping that this isn't still the case on a modern Windows.


how to get vggface2 dataset? Please help me.

The linkhttp://zeus.robots.ox.ac.uk/vgg_face2/get_file?fname=vggface2_train.tar.gz for vggface2_train.tar.gz doesn`t work still? How can i get vggface2_train.tar.gz now? Please help me.

I asked the vggface2 administrator to fix the link.
You will be able to download it now.

@Lunrot I really can download it now! You are so kind! Thank you very much!

@Laviyy Please close the issue if you are able to download the dataset

@vivekaditya The link of Vggface2 doesn't work again :(

Hi, today I'm also tried download Vggface2_train.tar.gz & Vggface2_test.tar.gz and those files are not available on the server...

@Lunrot The downloads are extremely slow/unavailable again

@vivekaditya @Laviyy
Hi, I managed to download the data but it seems like bb_landmarks.tar.gz link is broken:
http://www.robots.ox.ac.uk/~vgg/data/vgg_face2/bb_landmark.tar.gz
I will appreciate your help.

@ilyanelken it is work now.

How can I download the dataset if my machine is headless? I have no way of using a browser to click the link that points to the tar.gz file

The download is not resume-able, I tried to download it several times but every time it fails due to interrupted network or power failure. Someone please share the cloud drive link. baidu or dropbox

Hi. The download link stoped to work today 14.07.2019, near to 00:00. When I have downloaded about 32 out of 36 GB - this kind of troubles always happens with me :). Today browser shows "The requested URL /vgg_face2/get_file was not found on this server." So, please, help me too )

Hi. The download link stoped to work today 14.07.2019, near to 00:00. When I have downloaded about 32 out of 36 GB - this kind of troubles always happens with me :). Today browser shows "The requested URL /vgg_face2/get_file was not found on this server." So, please, help me too )

I wanted to download the dataset today and I am having the same issue, I am also unsure how to officially contact the Visual Group people since their webmaster email domain no longer exists.

Hi. The download link stoped to work today 14.07.2019, near to 00:00. When I have downloaded about 32 out of 36 GB - this kind of troubles always happens with me :)

This is exactly happening to me... anyone know any other link that i can download the datasets from?


Filter by Domain

As a user of Workbench, I want to be able to filter STIX tables by domain.

Resolved by #392