The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I've had this laptop for a few years and just recently bought it from my former employer.
When I quit that job last week they had to wipe my computer, which should've been as easy as restoring an image.
Except the image wasn't found, everything went awry, they had to download a new bootable drive, and I had to wait for four hours instead of the usual 20 minutes.
And now it just won't boot correctly.
When I turn it on it often hangs in a black screen which only a hard reset will solve.
The seconds time it takes one to two minutes to boot instead of the usual ten to twenty seconds.
I did some diagnostics checks, but everything seems to be OK...
There's nothing at startup that could take such a time.
I'm on the latest updates of both Dell and Windows.
And now it hangs on the installation of a (really very latest) Windows update at 61%
I'm a bit out of options and I'm considering doing another fresh install...
Option 7 didn't work.
Option 6 gives me an error in de Dell OS Recovery Tool: Sorry. An error occurred while extracting image file W52RRA04_w10x64ROW_pro.iso. Please check the file and try again.
No amount of Googling seems to provide an answer.
I can't even find the file on my computer.
I've tried getting it from their support site, but I don't see any iso images.
Everywhere I visit they recommend the OS Recovery Tool, which gives me an error
I'm sure my computer was re-installed using a Dell image though.
Perhaps not the right one... I can't find it anyway.
Perhaps I should just ignore Dell and go right for Download Windows 10[^]?
Install some version of Linux. Or at least try a live CD. If it seems to work fine with that, then you can probably rule out a hardware failure (although it would otherwise be a coincidence since, I'm assuming, it was working before getting re-imaged...)
For what it's worth, that's the route I'd take, especially since it's basically new anyway.
If that fails, see if it's got an unpluggable wireless adapter on the mobo. I had an episode recently with a system that got hung installing an update. (seems it was at 61% too) Even after a new ssd and fresh os, it failed until I unplugged the wireless adapter...been running great since.
So I'm perusing through an STL cookbook. I never learned the C++ STL, so I thought I'd like to try.
So I'm expecting to see good OO design principles in play here. But I find that to sort a vector, you don't simply call a Sort() method on the vector, you need to call a stand-alone function and pass it the vector, sort(begin(v), end(v)).
As a matter of fact, a whole cadre of things you would want to do with STL objects are accomplished by calling these external, stand-alone functions.
What kind of design is this? This feels a lot more like C than C++.
Why was it designed this kooky way?
The difficult we do right away...
...the impossible takes slightly longer.
"The STL exemplifies generic programming rather than object-oriented programming, and derives its power and flexibility from the use of templates, rather than inheritance and polymorphism. It also avoids new and delete for memory management in favor of allocators for storage allocation and deallocation. The STL also provides performance guarantees, i.e., its specification requires that the containers and algorithms be implemented in such a way that a user can be confident of optimal runtime performance independent of the STL implementation being used."
Anecdotal: The more I use C++ the less I use strict pure OO design (something like the idealistic Smalltalk) .
You can safely ignore the performance aspect of OO design.
In ye olden times, OO was considered default-bad for writing algorithms, because objects are generally bigger than base-types, which is mathematically bad for performance if you have to cycle through 100 million of them.
Today, it just doesn't matter, because developers don't really have to do math anymore.
We include a package or library or header to implement the proven best version of the algorithm we need. And that's it.
15~20 years ago, C++ developers got paid to write custom data structures and algorithms because performance was a thing, code sharing was uncommon and hardware was slow.
Nowadays, most of the C++ work is deleting all of that old custom stuff while replacing it with standardized parts, because maintaining custom code is bad for everything, including performance ironically.
Because even though OO design was considered the norm for C++, it still had clearly defined use cases, and STL algorithms were never considered one of them.
I could get theoretical about it, but just stating the practical difference is easier:
- OO design is for helping humans to deal with abstract concepts.
- Functional design is for writing fast algorithms with low coupling.
Basically, STL containers are OO because it makes sense to modify, expand and build on top of them.
STL algorithms are functional, because they perform time-critical individual tasks and you're not encouraged to mess with them.
All in all, it's proper design, because you shouldn't use OO design for algorithms.