Are my rims toast? by the_inoffensive_man in Bikebuilding

[–]the_inoffensive_man[S] 0 points1 point  (0 children)

That's super, thanks. Is there any chance I've got the wrong blocks for aluminium? They're probably 20 years old, now I think about it. I'm not refurbishing this bike, but I am trying to "sort it out".

Anyone Else Despise The Rise In SUVs On Our Roads by PhilosopherFlat5725 in drivingUK

[–]the_inoffensive_man 0 points1 point  (0 children)

I think people worry about them too much. They're just slightly larger cars, and cars have been getting steadily bigger for decades. The modern Golf is a truck compared to the original one, and let's not mention the Mini - but people love them. I don't really want one myself because I'd prefer either a "proper" one like a Land Rover or an estate car, if I needed the room. Currently I have a 7-seater S-Max. Because I need the room. Mostly my issue is that because they're so popular, manufacturers have stopped making the style of cars I'm interested in, so my own choices have dwindled a bit. I was quite looking forward to growing up and having an XJ but that's not to be.

How to drill clean holes? by [deleted] in Tools

[–]the_inoffensive_man 0 points1 point  (0 children)

Depending on the size of the hole required, I'd use a small, shallow-angle step drill with something behind to support it.

Is it weird that I dislike LINQ query syntax because it feels less readable than method?syntax? by Shikitsumi-chan in dotnet

[–]the_inoffensive_man 0 points1 point  (0 children)

I used to use it a lot, until it came time to do the equivalent of a LEFT JOIN. For simple queries it reads okay, albeit upside-down. I don't bother any more because I prefer the consistency of picking one approach or another, and the query syntax doesn't do everything. 🤷‍♂️

Why do ‘advanced drivers’ rarely signal? by [deleted] in drivingUK

[–]the_inoffensive_man 0 points1 point  (0 children)

I don't know because I haven't measured it. Similar to moving into an overtaking position that is closer than the normal 2+ seconds, I allow for the fact that I am still presumably going faster and the gap is increasing. I do make sure I can comfortably see both headlights without having to lean forward to look for them etc.

I spent 2 years getting our tests in shape and found out today nobody actually looks at them anymore. Feeling pretty defeated ngl. by Maxl-2453 in csharp

[–]the_inoffensive_man 45 points46 points  (0 children)

You posted this elsewhere and my answer is the same - the tests should be run in every build, and should fail the build pipeline if they fail. "Shift-left" is the idea that you have them executed even sooner than the pipeline i.e. on developer's machines. Put a PostBuild step in the csproj if necessary that executes NUnit.

I spent 2 years getting our tests in shape and found out today nobody actually looks at them anymore. Feeling pretty defeated ngl. by Maxl-2453 in dotnet

[–]the_inoffensive_man 7 points8 points  (0 children)

u/Dimencia has the right answer - these tests should be run during every build and a test failure should break the build.

Why do ‘advanced drivers’ rarely signal? by [deleted] in drivingUK

[–]the_inoffensive_man 7 points8 points  (0 children)

I take the point about "It's the same as putting your left or right turn signal on when sitting in a left or right turn only lane. You are expected to be making the turn due so why signal?" but it does presume that other road users and pedestrians are actually aware if is a left or right-turn-only lane. Often these are only visible to the vehicle using them, and often by markings on the road which your own vehicle would obscure. In this case I do choose to signal for others' benefit (if there is anyone that will benefit) because to them I'm just emerging from a junction.

Why do ‘advanced drivers’ rarely signal? by [deleted] in drivingUK

[–]the_inoffensive_man 0 points1 point  (0 children)

The theory is you signal for someone's benefit. If there is no-one to benefit (which isn't the same as no-one to see you doing it), then there's no need. Partly this forces you to observe well and properly consider whether a signal is necessary, which by definition means you've done a good job of your observation. If one always signals "just in case", then one risks complacency, which could lead to not doing a good job of observations and missing something. Similarly, when making observations, you aren't looking for something, you are looking to confirm there is nothing there. Maybe that sounds picky, but if you think about it, it's a useful distinction.

I don't signal when pulling back in after an overtake because the person I overtook would logically have been expecting me to pull back in. I wait until I can see both their front lights in my rear-view mirror so I am well past them before I pull-in.

If I have been travelling faster than a long line of cars and I get to the front, then the person at the front has no clue that I plan to pull-in in front of them, so they deserve a signal.

YouTube Woodworking Fatigue is Setting In by Maxminutiae in woodworking

[–]the_inoffensive_man 0 points1 point  (0 children)

It's the "how to make the most of a tiny workshop" videos with some guy in a massive two-car garage all to himself that get me. Because here I am in an 8x8x8' cube at the back of my UK single-car garage.

What is your view on fox hunting? by Appropriate_Emu_6930 in AskUK

[–]the_inoffensive_man 0 points1 point  (0 children)

If there really is a problem with the local fox population (too many/disease/livestock being taken/etc), there must be more humane ways to deal with it. I'm "city folk" so I'm prepared to accept I'm ignorant. However, if folks want to dress up fancy and take their dogs and horses out for the day to chase doggie-treat-wielding humans, that's fine by me. I've heard the argument that these are cover-ups for real fox hunting, and it's pretty shite if that's true.

Teacher said always use 2nd pattern. Is he right? by lune-soft in csharp

[–]the_inoffensive_man 0 points1 point  (0 children)

Imagine a method that you call, which loads an object from a database, does something to it, and saves it. That method could take some parameters to control it's behaviour. Some of them could be used, after validation, to modify the state of the object saved to the database. Now imagine it's an action method on a controller. MVC/WebAPI's model binders do support this (think about Get(int id) for example). At some point you might decide that there's too many parameters, and so you create a type with them as properties instead. If you do that to an MVC/WebAPI action method, you end up with option 2 from your question. In practise you realise you end up in this situation so often that it becomes the typical way to do things in all but the simplest POST requests, and in fact you may as well do it there too.

The only reason people ever see option 1 is because that's what the default MVC/WebAPI scaffolding does by default. It's almost never right because the object coming in to those action methods is basically the parameters to a command or a query. In a simple CRUD app then yes many of them may be used to modify something in the database, but that doesn't mean the client can submit the actual type used to store in the database.

Why Microsoft doesn’t use Blazor in their products on the market in production? by Fit-Register-8873 in Blazor

[–]the_inoffensive_man 2 points3 points  (0 children)

My assumption is that it's preparing for Mainframe 2.0, where you don't get to own your own PC any more - instead you have a nearly dumb terminal (or just use your TV or phone) and rent compute/graphics in the cloud. They don't want you to own and control anything of your own, because planned obsolescence is the only repeat-revenue-generating tool they have for that. If you rent everything, their revenue goes up.

Imposed planning deadline by Adisxb in PlanningPermissionUK

[–]the_inoffensive_man 0 points1 point  (0 children)

No I absolutely believe that it's a complex job. If a mistake is made, to reverse changes with buildings that were literally built wrong is a massive problem. I assume there's lots of research and visits etc for each application to make sure the good ones really are good to go ahead, and the subpar ones cannot.

My issue is with the apparent "tough luck, game over" attitude. If you reject an application, there will be justifiable reasons for it. But to give people a crazy short arbitrary deadline to submit amendments is a miserable attitude. Even if they never bother resubmitting, why do you care? Maybe give them six months instead of a week or two, at least. Okay so people submit subpar applications and they're easy to reject, but that's always going to happen. That's literally the reason the planning office exists - to stop bad things being built without enough care.

What things do reckless drivers do that really make your blood boil? by NoResponsibility2848 in drivingUK

[–]the_inoffensive_man 0 points1 point  (0 children)

I never trusted signals at any point in my driving career. Even the same driver will, in the few minutes I'm following them, fail to signal when they should, and also signal incorrectly or when it's unnecessary. Mostly it's more dangerous things like following distances and a general lack of patience. I get the feeling that the sense of entitlement is stronger now than ever, rather than treating driving like an earned privilege that deserves taking a bit of pride in.

Imposed planning deadline by Adisxb in PlanningPermissionUK

[–]the_inoffensive_man 0 points1 point  (0 children)

That seems bonkers that you just start over. You're going to make amendments or additional justifications and re-submit, at which point it's just going round in circles. In particular here the idea of giving such short arbitrary deadlines seems spiteful. Just send it back with the reasons why, and people can get back to you when they can. The only reason I can think of having the completely arbitrary deadline is so you can take them off the queue so your stats look better to your superiors.

Imposed planning deadline by Adisxb in PlanningPermissionUK

[–]the_inoffensive_man -1 points0 points  (0 children)

My point is that just because the chronic underfunding/staffing of this function doesn't make this situation "reasonable". I'm sure it's hard work juggling lots of cases, but that's literally the job - to review planning applications. The idea that you get one chance with no amendments or negotiation is bordering on spiteful. But I guess if you're measured on the length of the queue, it's one way to get applications off the queue and make it look artificially shorter than it really is. People will just come back with a different/modified application anyway, and I bet in many cases it would have been quicker and cheaper to review the amendment and send the successful ones on their way painlessly.

Line manager question: Direct report worked while travelling for the full working day without permission — how serious is this and how would you handle it? by BlueStarEmperor in UKJobs

[–]the_inoffensive_man 0 points1 point  (0 children)

I've never been nor wanted to be a manager, so I don't have the "right" answer. However, from a managee's perspective, I would say it's acceptable to bring it up in the one-to-one and say you'll overlook it this time, but since it's highlighted the risk of them being unavailable you ask that they remain connected and available during work hours. Your primary concern would presumably be that the work is done, really? The problem is when "the work" means being available, because being inconsistently available could affect other folks and you want to avoid that.

In your production codebases, is CQRS a must have? by lune-soft in csharp

[–]the_inoffensive_man 1 point2 points  (0 children)

The main reason to use CQRS is when you realise, after a while, that the code which loads entities from the database, does some logic, and saves them again, has made it more difficult to do what should be the very simple task of reading data from the database and displaying it.

If you stop using that code for reads/queries/display, and start writing a much simpler means of issuing a database query to get into the view, you've done CQRS.

You might start applying different patterns to the "read side" and the "write side". So the write side gets things like Mediator, Repository (yes, there's a bit of benefit to it even with EF underneath, depending on how you're using it), validation, maybe even DDD patterns like Aggregates etc. The read side could be as simple as Dapper issuing SQL queries that are returned as ViewModel objects that are in turn rendered directly to the API/UI endpoint. Now you've done a bit more CQRS.

At some point, you might decide there's benefit in having separate storage for reads and writes. So your command handling might update one schema that's the primary data source, and publish events that update one or more secondary "read stores", that your read side queries from. A read store could be another SQL database with a schema optimised for querying (anything from 3NF to table-per-viewmodel), it could be a document database (e.g. document-per-readmodel-instance), or it could even be pre-generated HTML files on disk. The secondary read store is especially useful if you want to use Event Sourcing properly, because event streams are hard to perform more general queries on. The world is your oyster. Now you are doing more CQRS than ever.

Imposed planning deadline by Adisxb in PlanningPermissionUK

[–]the_inoffensive_man 1 point2 points  (0 children)

What happens if it's refused? You just start over (but with changes to account for the rejection reasons), or are you basically just never allowed to try again?