Somebody is selling their gigantic 30 year vintage computer collection as a single lot on EBay.
At several hundred collectible computers, and nearly as many manuals, this is a really nice trip down memory lane. Gotta get me one of those laptops!

Somebody is selling their gigantic 30 year vintage computer collection as a single lot on EBay.
At several hundred collectible computers, and nearly as many manuals, this is a really nice trip down memory lane. Gotta get me one of those laptops!

In the last article, I introduced a library function to help you invoke inline C# from your scripts. Since we carefully profiled the burn-console script’s performance, we know exactly where to apply these inline performance optimizations: to the updateBuffer function, and the updateScreen function.
The completed script is included below. The inline optimizations bring us to about 30 - 40 frames per second, easily …
Read moreIn the last post, we got nearly as far as we could in improving the performance of our MSH script. We used the profiler to help target our performance optimizations. After we were finished, setting variables, incrementing counters, and comparing colour values took up the vast majority of our time. We can’t make these statements more efficient, nor can we execute them less frequently.
To really push the performance …
Read moreThe scripting guys continue to impart their magic scripting touch, now with a great big dose of MSH.
Their “Scripting with the Microsoft Shell” Script Center went live recently, and it’s already chock-full of sample scripts – most applying the power of WMI interop.
Their first article covers Accessing WMI From the Microsoft Shell – check it out!
[Edit: Monad has now been renamed to Windows …
Read moreThe question came up on the newsgroup on how to monitor CPU usage in PowerShell. I wrote a script to demonstrate this some time ago with the intent to write about it – so now is probably an ideal time.
The following poll-process script retrieves the process name, main window title, processor usage, disk activity, and working set. It continually refreshes the display to give you a task manager-like experience.
One …
Read moreNow that we have our script profiler up and running, we instrument our script a little to mark regions we are concerned about. You can download that starting script here: [burn-console-1.profiler.msh] After running the script profiler, we get the performance breakdown:
Breakdown by line:
----------------------------
15%: Line 123 - if($colour -lt 20) { $colour -= 1 }
14%: Line 122 - …Read moreIn the last article, we talked about the theory behind a sampling profiler. Let’s go over the code to implement one. We’ll use this to guide our future optimizations. You can also download the script here: profile-transcript.msh.
################################################################################
##
## profile-transcript.msh
##
## Computes the performance characteristics of a script, based on the …AKA: Welcome Don McGowan to the Party :) Don works in the Law and Corporate Affairs organization at Microsoft, and has always been a bright and illuminating voice in our internal discussions.
Case in point – a bunch of people internally are pretty upset that JC Penny is gouging customers by charging $800 for a vanilla Xbox Premium system. Where most people speculate, Don lays down this awesome summary of the …
Read moreWe now have implemented a working fire effect in a form that’s extremely easy to read. The intention of the code is clear, our functions are nice and modular, and the algorithms are clear. However, we need to deal with some performance issues. For that, we’ll take a small digression.
At this point, if performance is of utmost importance, we might consider simply porting our script to a compiled C# cmdlet. …
Read moreNow that we’ve generated the palette, the most complex part of the algorithm is actually behind us. The remaining code implements the fire algorithm, and is fairly simple: