|
watch "Fathom" 1967.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Who was that comedian telling about once he was arrested, and the officer told that anything he said would be held against him?
"I tried 'Rachel Welch', but it didn't work!"
|
|
|
|
|
She was before my time, but admittedly that didn't keep her from...well, leaving an impression.
|
|
|
|
|
#Worldle #390 4/6 (100%)
π©π©π©π©π¨βοΈ
π©π©π©π©π¨βοΈ
π©π©π©π©π¨βοΈ
π©π©π©π©π©π
https://worldle.teuteuf.fr
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
#Worldle #390 5/6 (100%)
π©π©π©π¨β¬βοΈ
π©π©π©π©π¨β¬
οΈ
π©π©π©π©π¨β¬
οΈ
π©π©π©π©π¨βοΈ
π©π©π©π©π©π
https://worldle.teuteuf.fr
|
|
|
|
|
See title--I alluded to this last week. Edge 109 was supposed to be the last version of Edge to run on Windows 7.
So yesterday was Patch Tuesday, and I was a bit surprised to see Edge (now 110) still being offered by Windows Update on my Win7 VM as part of yesterday's new releases. I let it download...and fails to install - no surprise. The installer probably has a dependency check and at least it does the right thing.
But why is it showing up there at all, if it's been known and planned and announced to such fanfare? You'd think this is one of the first things they would've made sure works as expected...It should be a simple exercise for the people in charge of putting together patches who should have a high level of competency for this sort of thing by now. Or do they let the interns manage the patches?
When MS talks a big game about AI and ChatGPT and all that nonsense I never really believed in, this is exactly the example I always come back to - until they can sort out how to do basic things like patching correctly, they shouldn't even try to pretend they have the know-how to make a so-called AI. Solve the easy things first.
Or maybe they can use their fancy AI to sort it out for them. Would you trust it to do a better job than the Windows Updates team, and let it loose and in charge of patching your fleet of machines?
|
|
|
|
|
We don't even trust the Windows Update team. Every update is tested before releasing it to the fleet.
There are no solutions, only trade-offs. - Thomas Sowell
A day can really slip by when you're deliberately avoiding what you're supposed to do. - Bill Watterson (Calvin & Hobbes)
|
|
|
|
|
The reality is that both MS and Apple are not the companies we grew up with anymore. In some ways that's good, like with MS embracing Linux. But, the minds behind them both are gone. What's left is the name. Times change.
Jeremy Falcon
|
|
|
|
|
dandy72 wrote: It should be a simple exercise for the people in charge of putting together patches who should have a high level of competency for this sort of thing by now. Or do they let the interns manage the patches?
Must be nice to work for companies where that is easy to do. Every company I have worked for, even when projects are not that large, releases are always a nail biter. But maybe that is just because I was always the one that had to solve the problems when they showed up.
dandy72 wrote: until they can sort out how to do basic things like patching correctly, they shouldn't even try to pretend they have the know-how to make a so-called AI. Solve the easy things first.
Because everyone else has already solved that?
|
|
|
|
|
Good point. Updating something that unknown users can have frigged about with in unknown ways is, um, far from easy. Those who think it is should try it themselves.
|
|
|
|
|
My point was, they've been doing this for decades. Why's the process so still broken after all this time?
Or maybe I was still giving them too much credit when I wrote:
dandy72 wrote: people [...] who should have a high level of competency for this sort of thing by now
|
|
|
|
|
dandy72 wrote: Why's the process so still broken after all this time?
Because they don't deliver process. They deliver software.
Additionally it is a very complex product. Which means the there are very many steps in the process all of which can only be managed by humans. Which are not and never will be perfect.
|
|
|
|
|
jschell wrote: Because they don't deliver process. They deliver software.
But you'd think there was a process in place to deliver said software.
The Windows Update facility has existed for what, at least 20 years? I agree patching isn't something trivial for most people, especially for such a complex piece of software as Windows. Mind-bogglingly complex; you couldn't pay me enough money to take on that job.
But my point, again, was, is there no-one in that department that has worked there long enough to have figured out the process (there's that word again) so the whole thing (or at least most of it) can be streamlined and just gets repeated every second Tuesday of every month?
|
|
|
|
|
Not sure what you are suggesting at this point.
The updates are delivered automatically.
The OP was about Edge being in the latest update. So the following two parts, at a minimum, exist
1. Reporting (english and other language text) that Edge would not be in it.
2. The code where it was still there.
So in terms of process some person (not code) decided it would no longer be there.
Then some person (step 1) reported that. And very likely a different person then the one above.
Then some other person (definitely a different person) might have either included it or forgot to exclude it. So it showed up.
And realistically I bet there are more steps in the above process in which humans, not software, are involved and which software would never be involved.
Why do I say 'might' above? Because maybe the first person that I mentioned above changed their mind but the second person didn't get the notice. Or some other person not even mentioned above told the third person to put it in regardless.
|
|
|
|
|
I posted last week[^] about how I was developing a new component which is intended to help you interact with, and administer Keycloak instances. The first operation in Keycloak is the ability to generate an access token for a user; this capability lies at the heart of pretty much every operation. Now, if I were doing this via curl, this would be the command I would issue.
curl \
-d "client_id=admin-cli" \
-d "username=admin" \
-d "password=password" \
-d "grant_type=password" \
"http://localhost:8080/realms/master/protocol/openid-connect/token" All very straightforward, but I want to provide code access to the APIs. Right now, to do the same thing, I have a large number of classes, but the simplicity I was talking about last week allows me to write minimal APIs that look like this.
using Keycloak.Core.Authentication;
using Keycloak.Core.Models;
using Keycloak.Core.Options;
using Microsoft.Extensions.Options;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddHttpClient();
builder.Services.AddOptions<KeycloakConnectionOptions>()
.BindConfiguration("keycloak").
ValidateDataAnnotations().
ValidateOnStart();
builder.Services.AddTransient<Authorize>();
builder.Services.AddSingleton(r => r.GetRequiredService<IOptions<KeycloakConnectionOptions>>().Value);
var app = builder.Build();
app.MapGet("/", () => "Hello World");
app.MapGet("/token", async (Authorize authorize) =>
{
var options = builder.Configuration.GetSection("keycloak").Get<KeycloakConnectionOptions>();
Token token = await authorize.GetAccessToken(options, "CP", "Master");
return Results.Ok(token);
});
app.Run(); Behind this, I have a really simple JSON structure:
"keycloak": {
"AuthorizationServerUrl": "http://localhost:8080/",
"Realms": [{
"Key": "CP",
"Realm": "CP",
"SslRequired": "External",
"Resource": "CP-Test",
"AuthenticationOptions": [{
"Key": "Master",
"AuthenticationType": "Password",
"Password": {
"Username": "peter",
"Password": "peter"
}
}]
}]
} I love simplicity and I love that fast iterations allow me to turn the code around really quickly, including validating the options to make sure they follow my Keycloak connection rules.
|
|
|
|
|
Part of me liked this post because I didn't understand any of it, and it helps remind me of how half my discussions come off to others.
To err is human. Fortune favors the monsters.
|
|
|
|
|
Can relate. Was a temporary math teacher at one point 
|
|
|
|
|
This post and all of @code-witch posts make me feel like am a fraud at my work place.
|
|
|
|
|
If it makes you feel better, I didn't understand the OP either.
To err is human. Fortune favors the monsters.
|
|
|
|
|
What does it make me if I understand Pete's post completely and almost all of Honey's posts?
On second thought, don't answer that question. 
|
|
|
|
|
Pete O'Hanlon wrote: Behind this, I have a really simple JSON structure:
What happens when the json is missing the 'AuthorizationServerUrl' completely? Or it has been incorrectly entered and is not a valid url?
What happens if the password is wrong or expired?
|
|
|
|
|
The options are validated to make sure the values are supplied. There's a lot of validation in here, and a lot more coming. This isn't just dump and throw. That's what is happening in the ValidateDataAnnotations part.
modified 15-Feb-23 13:41pm.
|
|
|
|
|
Very interesting , and I am curious about Keycloak.Core.... library.
I guess this is work in progress (?)
|
|
|
|
|
While I am working on it, you can find the source in Github[^]. It's very rough while I add features to it.
|
|
|
|
|
Great thank you for the link, I am curious about testing OAuth 2.0 flows, I will plan/try something along this line, BR
|
|
|
|