|
Hi Paul have you got AOMEI working with your Surface ? I can't get it working it fails with cannot create bitmap - Macrium works though
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
|
He has now assumed the role of Agent 47.
|
|
|
|
|
Ah ... my external drives are all Micro-B connectors, and I just never get around to buying a USB-C adapter cable.
It's not a priority for me as I don't keep anything serious on it - but it'd be a pain to reset to factory and then reload everything. Hmm. I should get a cable ... and a USB-C thumb drive to boot from ...
Thanks for the reminder ...
I just installed the standard version, and it runs. I added the SD as the destination, and it seems to be working fine, 6% already.
So, yes - "it works for me".
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Quote: London calling to the imitation zone
Forget it, brother, you can go it alone
|
|
|
|
|
Update: It just finished, and the backup looks OK.
So yes, it's working.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I have an external USB and it fails - Windows updates totally f***ked my Surface 7 last night so I've had to reset it to default ( lost everything ) and reinstall ( like you I don't keep data on it ) I think it's a VSS problem it had two providers entered in the registry and apparently there should only be one registered - so I deleted one of them ( the Hyper V one ) and Macrium worked after that but AOMEI is still failing. I installed Macrium purely because of the AOMEI problem
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
Especially when combined with extension methods and fluent-style methods.
envvars
.Municipalities()
.Select(m => m.Fixups())
.NotServiceAccess()
.Where(m => m.VerifyConnection(_ => Log($"{m.Municipality}: {m.ConnectionString} => Connection failed.")))
.Do(munis =>
munis.SelectWith(m => M5.GetTableNames(AUDIT_SCHEMA, m.ConnectionString), (m, with) => (auditableEntities.NotIn(with, s => s.TableName.ToLower(), t => t.ToLower()), m))
.ForEach(q => q
.Iterate((t, m) =>
t
.Do(_ => Log($"{m.Municipality}: {t.TableName} => Audit table missing"))
.GenerateMissingAuditTableSql(m)
.Execute(m.ConnectionString, (sql, e) => Log($"{m.Municipality}: {t.TableName} => {e.Message}\r\nFailed to execute SQL: {sql.ToString()}"))
)))
.Do(munis =>
{
munis.SelectWith(m => M5.GetTableNames(AUDIT_SCHEMA, m.ConnectionString), (m, with) => (auditableEntities.In(with, s => s.TableName.ToLower(), t => t.ToLower()), m))
.ForEach(q => q
.Iterate((t, m) =>
{
Log($"{m.Municipality}: {t.TableName} => Checking...");
var entityColumns = M5.GetColumnList(DBO_SCHEMA, m.ConnectionString, t.TableName);
var auditColumns = M5.GetColumnList(AUDIT_SCHEMA, m.ConnectionString, t.TableName);
entityColumns.NotIn(auditColumns, s => s.Name.ToLower(), f => f.Name.ToLower())
.DoIf(q2 => q2.Count() > 0, q3 => Log($" {q3.Count()} missing fields"))
.ForEach(f =>
{
Log($" {m.Municipality}: {t.TableName} => Field {f} missing in audit table");
f
.GenerateMissingColumnSql(m, AUDIT_SCHEMA, t.TableName)
.Execute(m.ConnectionString, (sql, e) => Log($"{m.Municipality}: {t.TableName} => {e.Message}\r\nFailed to execute SQL: {sql.ToString()}"));
});
}));
});
This is a custom "one line" function that creates missing audit tables or adds the missing columns that the entity defines but someone forgot to add to the audit table.
|
|
|
|
|
That's ... uhh ... a rather impressive abuse of LINQ that screams "oh hell no! I'm not getting anywhere near that to support it!"
|
|
|
|
|
Years ago, my teacher would say that any program in C++ "could" be written in a single line, and that one definitely shouldn't.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
In high-level languages there are no lines -- only statements.
|
|
|
|
|
So; you'd like to see one statement per line, or all off them in a single line?
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
looks a lot like the kind of horrors i find in Typescript...
|
|
|
|
|
(serious)
Is there a reason to write ugly code like that ?
Is it more efficient ?
If I was looking at code like that I would probably send it back after code review.
I'd rather be phishing!
|
|
|
|
|
Someone has a linq shaped hammer. All the world is a nail.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Maximilien wrote: Is there a reason to write ugly code like that ?
I was curious to what extent, ok, extreme, I could go. One of the things I love about functional programming is the pipe operators |> and <| which have no equivalent in C#, the best one can do is the dot operator.
So I wanted to play with the concept, see how far I could take it, what extension methods I needed to create to maintain the "continuation", how hard it would be to debug, and if the result looked in any way maintainable.
One of the things I discovered is that, as usual, wrapping simple things like "where" expressions into a named extension method improves readability but potentially decreases the "well, how is that actually accomplished" immediate comprehension, and naming can be quite difficult when creating bizarre functions that iterate over a collection and pass in both the collection item and some other pre-computed value.
So consider it a "thought experiment" in actual implementation.
|
|
|
|
|
IMO the biggest problem with overly complex linq is that it's all one statement to the debugger. If you to step from one . to the next being able to view the data being passed around without having to spam replace each . with ;\r\n foo = and turning anonymous functions into normal ones (and of course undoing all of that when done) troubleshooting would be much easier.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Chances are it's less efficient because of the overhead inherit in LINQ itself.
|
|
|
|
|
There is no overhead "inherit" in LINQ. There is some in the current JIT implementation of lambdas, but a better JITter could inline them, which would make them more efficient than functions.
Truth,
James
|
|
|
|
|
|
Beautiful!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Functional programming )))
|
|
|
|
|
stepan hakobyan wrote: Functional programming )))
For dysfunctional programmers
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
stepan hakobyan wrote: Functional programming )))
Yes! That was the point of the experiment.
|
|
|
|
|
I read it aloud and accidentally summoned and eldritch horror.
Please provide the unsummon chant.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|