The thinnest and lightest laptop Apple has ever made. I absolutely love this little computer and feel sad that I need to let it go – but I’ve also moved all travel work into an iPad and don’t need this anymore with my iMac around.
Colour: Space Grey OS: Catalina 10.15.4
Battery Condition: Normal. Only 333 cycles.
Includes original Apple charger + USB-C cable Includes original box
External – A few minor hairline minor scratches on the top and one along the edge of the machine (see detailed high-res zoomed in photos). A small rather unnoticeable indentation at the bottom (I only just noticed it now).
Internal – pristine. Not a scratch, and everything works well, including the keyboardl. Please see video for it in action.
I would prefer contact-free collection (Sheffield or Yorkshire in general), but happy to post, with buyer paying postage through whatever service they prefer.
iPad trades can be considered, but prefer cash. Happy to offer full refund (minus delivery fees) within 7 days if delivered. The whole thing will be wiped with Dettol wipes before delivery. Apologies in advance for any late replies – NHS worker with manic shifts right now – will try to answer questions ASAP.
Since its move to an open source project in 2016, PowerShell’s development picked up significantly.
The PowerShell 7.0 release arrived in March with a slew of improvements and new features. One of the most intriguing updates occurred with the PowerShell ForEach-Object cmdlet, which gained a powerful new ability to perform loops in parallel.
Most system administrators have needed to execute some command or operation on multiple systems. Before the addition of the Parallel parameter, each iteration in a loop would run sequentially, or one after another. While this may work fine for loops with limited items, loops that require each step to take substantially more time is a perfect candidate for the Parallel parameter.
The PowerShell ForEach-Object Parallel parameter attempts to run multiple iterations of the loop at the same time, potentially saving on the overall runtime. With this newfound capability, there are several important caveats to understand before implementing the Parallel in any production scripts.
Understanding PowerShell ForEach-Object -Parallel
PowerShell supports several different methods of parallelism. In the case of ForEach-Object, runspaces provides this functionality. Runspaces are separate threads in the same process. These threads have less overhead compared to PowerShell jobs or PowerShell remoting.
A few factors will add to the amount of overhead used with the ForEach-Object Parallel parameter. You will need to import additional modules and reference outside variables with the $Using: syntax. In some situations, the Parallel parameter is not ideal due to the extra overhead it generates when in use, but there is a way to shift that burden away from the source machine.
One automation concern with this additional feature is flooding your infrastructure or servers with multiple operations at once. To control this behavior, the ThrottleLimit parameter restricts the number of concurrent threads. When one thread completes, any additional iterations will take that thread’s place, up to the defined limit.
The default ThrottleLimit is five threads, which generally keeps memory and CPU usage low. Without this setting, you can quickly overwhelm your local system or server by running too many threads in parallel.
Finally, one other useful ability of the Parallel parameter is it allows any parallel loops to run as PowerShell jobs. This functionality lets the PowerShell ForEach-Object command return a job object, which you can retrieve at a later time.
Performance between Windows PowerShell 5.1 and PowerShell 7
There have been many performance improvements since Windows PowerShell 5.1 and especially so with the latest release of PowerShell 7. Specifically, how have things improved with the development of the ForEach-Object command?
The code below runs a simple test to show the speed difference in the PowerShell ForEach-Object command between different versions of PowerShell. The first example shows results from Windows PowerShell 5.1:
How else can we demonstrate the power of the Parallel parameter? One common feature in PowerShell scripts used in production is to introduce a delay to allow some other action to complete first. The following script uses the Start-Sleep command to add this pause.
This change shaved almost 8 seconds off the total runtime. Even with only five threads running at once, each iteration kicks off when the previous one completes for a significant reduction in execution time.
Putting the Parallel parameter in action
How can these enhancements and abilities translate to real-world system administration actions? There are countless scenarios that would benefit from running operations in parallel, but two that are very common are retrieving information from multiple computers and running commands against multiple computers.
Collecting data from multiple computers
One common administrative task is to gather information on many different systems at once. How is this done with the new PowerShell ForEach-Object -Parallel command? The following example retrieves the count of files in user profiles remotely across systems.
On PowerShell 7, the script completes in just over 13 seconds. The same script running on Windows PowerShell 5.1 without the Parallel parameter executes in just over 50 seconds.
Running commands against multiple computers
Oftentimes, an administrator will need a command or series of commands to run against several target systems as fast as possible. The following code uses the Parallel parameter and PowerShell remoting to make quick work of this transfer process.
One useful feature in PowerShell when working with remote systems is to lower overhead by shifting computer-intensive commands to the target system. In the previous example, Invoke-Command runs the commands via the local PowerShell session on the remote systems. This is a helpful way to spread the overhead load and avoid potential bottlenecks in performance.
https://www.asus.com/uk/Monitors/ROG-SWIFT-PG279Q/ Treat myself to an LG 55″ OLED for my gaming PC so now have my 1440p Monitor to go. Bought Feb 2016 from scan. Will need collection, no box now. Can test and see running on collection. Will post photos if any interest. Great condition.
In 2016, “I was at Sauvie Island, a popular park here in Portland,” says Spencer. “I ran and dove into the water—the next thing I knew, I was floating upside-down in the water and I couldn’t move, couldn’t turn around. I was drowning.”
Through hard work, he has regained some function in his upper limbs. As soon as he was able, he went back to school to get his degree in Civil Engineering. “I wanted to jump back into school and get back to it — just something to get my brain working.“
Any inventor knows it takes a lot of trial and error to create something you’re happy with. This might discourage most people, but for Spencer, “you don’t really fail until you quit.”
The Xbox Adaptive Controller allows users to connect switches, buttons, joysticks, and mounts to create a custom controller that suits their needs and abilities. There’s a level of DIY involved, and Spencer was up for the challenge. “It’s been a cycle of learning and doing.”
Gaming for Everyone
Learn more about how we’re making gaming more fun for billions of people around the world by being inclusive of all, accessible for all, and safe for all.