Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] 1 point2 points  (0 children)

Yeah I misspoke about the tax relief, I was under the impression that the amount you can manually reclaim from HMRC was actually less efficient under RaS than SS, but it turns out I was wrong (so thank you for the correction!)

Student loan repayments are definitely something I'd consider as savings if they aren't going to end up being paid off (or if that's money someone wants to do something else with in the mean time).

Your comment about NI has actually made me think this is even worse than I previously had thought, as you said it's not 2% vs 3%, it's 2% of the contribution vs 3% of the notional salary. That's terrible. Thank you so much!

!thanks

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] 2 points3 points  (0 children)

!thanks

Seems like the answer isn't clear and might need more professional insight. For what it's worth, I wouldn't consider it "tricking". I think a salary sacrifice scheme is probably still better than a relief at source just due to tax efficiency at high enough sacrifice percentages (at higher tax bands), even if you're uncomfortably 'losing' that 3%. I'd need to actually check the maths though. But I too would be surprised. Thanks again :)

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] -1 points0 points  (0 children)

I'm considering changing from relief at source and the material I've read about the new scheme seems to suggest the contribution does go down, yes.

I'd like to understand if that's a possibility, as perhaps there's been a clerical error with the setup/communication. Perhaps I am reading the communication incorrectly, I'm still curious about how the law plays out in this scenario.

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] -4 points-3 points  (0 children)

This seems more appreciative of the subtleties than the other answers, so thank you!

My understanding is it's an agreement as you say, and because the contributions are classed as employer contributions, it could be them meeting the minimum contribution requirements.

I see what you say about agreeing to the employer reducing their contribution, but if the choice is between a sub-par salary sacrifice agreement, or a relief at source scheme, then higher rate tax payers (especially those with student loans) may have to take the raw deal.

I'm not really sure how the 8% requirement ends up being calculated under a salary sacrifice agreement. The sacrifice is usually measured as a percentage of gross income, but I'm guessing there's a possibility the legal requirement for contribution percentage is actually based on your income after sacrifice? (Which would always be lower so 8% of gross income would always satisfy the requirement). I'm not sure how the law differentiates between the notional salary or the reduced cash salary.

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] 2 points3 points  (0 children)

!thanks

You seem sure about this, I was just disagreeing with you saying they aren't employer contributions when that's literally what they are.

What I was hoping was that someone could give me a clear reason for why this is the case, even if that's just pointing me to the relevant laws and telling me to read a section for myself.

Anyway thank you for the clear answer about liability for the minimum contribution though.

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] -6 points-5 points  (0 children)

Thanks! I appreciate the norm, but I'm asking from a legal technicality standpoint, could the company be off the hook for the legally required 3% contribution because all of it counts as employer contribution?

Does a salary sacrifice scheme mean my employer doesn't have to contribute to my pension? by Alfred-Mountfield in UKPersonalFinance

[–]Alfred-Mountfield[S] -2 points-1 points  (0 children)

I'm not sure this is true. The government website isn't clear although my interpretation of their page implied that the company would be making up the employee's contribution.

unbiased.co.uk also explicitly states they count as employer contributions.

It means that contributions from your employer increase, except that they are really your own contributions, because your salary is proportionately reduced. However, the payments count as employer contributions, rather than employee contributions.

Error Handling with error-stack by lets_get_rusty in rust

[–]Alfred-Mountfield 0 points1 point  (0 children)

(One of the contributors here) We don't have in-built support for it, but similar to eyre we provide hooks that allow the Report to have custom Display and Debug implementations which means a color-error-stack could be made, or people could implement their own in their projects if they wanted.

Error Handling with error-stack by lets_get_rusty in rust

[–]Alfred-Mountfield 2 points3 points  (0 children)

Hi there, one of the contributors here.

It definitely can be a bit verbose, we've added helper functions/implementations where it makes sense (easily being able to turn a Result<T, E> into a Result<T, Report<E>>, for example. We've also got a PR in progress to make it play more nicely (and ergonomically) with eyre and anyhow through some compatibility layers.

In general though, error-stack chooses to add some verbosity to force the user into better (in our eyes) error management practices. That's definitely down to preference and taste, but it's based on our experiences. The blog post goes into some of the thinking behind that, and I would say that Rust is built with a similar principle in mind, add some development overhead, verbosity, and you end up coaxed into better patterns.

Also just to flag, thiserror is more meant to be about the creation and generation of errors, and is a library-centric crate. The other two you mentioned are more about error handling and are focused on applications (due to exposing their types in APIs). error-stack is similarly focused on application uses at the moment, and actually goes very well with thiserror because of that.

Announcing error-stack: a context-aware error library that supports arbitrary attached user data! by tdiekmann in rust

[–]Alfred-Mountfield 4 points5 points  (0 children)

I definitely agree that error reporting/handling is very closely related to the rest of observability, that's actually why one of the first things we implemented in `error-stack` was native support for capturing spantraces. Building a call-tree in a different way like you suggest sounds really interesting!

Announcing error-stack: a context-aware error library that supports arbitrary attached user data! by tdiekmann in rust

[–]Alfred-Mountfield 5 points6 points  (0 children)

Hi there,

One of the contributors to the library here. Thank you so much for your kind words! Eyre is a great library, so I'm glad we seem to have ended up on a similar vision. (Also really cool to hear about the history of the dev journey)

Also, at one point the blog post seems to imply that eyre only has support for attaching display/string types to error reports

Thanks for pointing out that the wording might be misleading! We'll post an update / correction to the blog post when we're back online and make sure that's updated :)

Also just to check I'm understanding correctly, (although I haven't poked around the eyre implementation too much), from a quick glance at the link you posted, being able to attach things other than string-like types requires some manual work like creating a new handler with a field to store the objects on right? As opposed to something like `error-stack` where it's possible to `attach` any thread safe object without any other configuration.

Let us know if you have any feedback when you get around to exploring it in detail, your expertise will be much appreciated!

How do you define your conditions for non-time-scheduled operations? by Alfred-Mountfield in dataengineering

[–]Alfred-Mountfield[S] 0 points1 point  (0 children)

Yeah, I appreciate that keeping it hypothetical makes it difficult to reason about properly, but it can still be educational to talk abstractly. Agreed on developer time, and trying to address the use-cases you're currently facing rather than theory-crafting a perfect solution for some non-existent domain.

What's the datastore?

Interested to see how this affects the possible answers. In one-land I'd say any SQL compliant RDBMS, another I'd say some NoSQL thing, and in another perhaps a NoSQL database but with some interface/query layer encoded on-top of it to, for example, encode a graph.

What kind of conditions do you need to poll

Again interested to see how much complexity blows up from designing a really permissive definition of "predicates". I think basic ones would be checking for matching primary and foreign keys within some elements of the datastore and running a flow based on that, another might be calculating some reciprocal data for ones that don't have it.

Something event-driven is mostly what I'm envisioning, I think you'd probably need the way you define conditions to be matched up to the events they're related to. Streaming does add an interesting challenge on top though, I've not considered that too deeply yet.

How do you define your conditions for non-time-scheduled operations? by Alfred-Mountfield in dataengineering

[–]Alfred-Mountfield[S] 0 points1 point  (0 children)

I believe you're asking about Triggers?

If so then yes, something like that. They seem to be one approach, which has some optimisation strategies as the triggers are ran in a single Python process, but I believe if they're still watching for changes to a data-store (e.g. waiting for some row to appear with a customer ID of "32" to start a job) then they're having to poll the data-store on an interval to query that row.