One of the gestures that becomes very ingrained when working in a Unix shell is double-tap tab completion. When you press tab at a normal slow speed, the shell cycles through available tab completion possibilities. When you press tab quickly twice in a row, the shell displays all possible completions for your command all at once – and then lets you cycle through those possibilities. That’s not a feature that PowerShell directly supports, but it is possible to get a good approximation to it by customizing your own TabExpansion function.
First of all, let me thank those of you that have adopted the Ad-Supported version of Get-ChildItem that we introduced last year. The additional revenue has proven quite effective for reducing world hunger, improving world peace, and providing spinner rims to those in need. In fact, several of you did indeed meet fun young DLLs in your area. As just one example of many, Jeffrey Snover recently announced his engagement to shell32.
Wow. I was looking through some old backups today, and found a writing assignment where we actually had to turn in the drek that came out when working to clear “The Judge.” The assignment was to do 8 of these 20-minute sessions in one week. By the end, I was closing my eyes and making an insane amount of typos. Time 1:40pm, September 17. Word count 1405 Time 1:26am, September 19.
Back in the good ol’ days, my domain used to support a catch-all email address. I could give out any email address (as long as it ended in @leeholmes.com,) and still be guaranteed to receive the mail. When asked to create an account at some random website, I just make one up on the spot tailored specifically to them. I got an odd look from my dentist when I did this, though.
Tom recently ran into a problem with the Connect-WebService script given here – when run against a server that returns malformed headers, he received the error message, “The server committed a protocol violation.” The .NET Framework takes this approach as a security precaution, since parsing non-standard headers is one of the most common sources of vulnerabilities. It’s not that the header-parsing code has vulnerabilities (it may or may not, I have no inside knowledge,) but it is an absolute fact that you increase your risk as you expose more code to malicious input.
Scott just finished writing about his boss (and now him) using Blat to help him Get Things Done. I’ve been “Getting Things Done” for some time, and one thing that’s always annoyed me was how difficult it is to convert a desire into a categorized task. Outlook 2007 had the opportunity to make this better with the quick-entry field in the TODO bar, but tasks entered that way unfortunately have a due date for “Tomorrow.
One question that comes up fairly frequently in our internal mailing list, the newsgroup, and the internet at large is how to call a webservice from PowerShell. In fact, several excellent PowerShellers have written about it: Keith, and Geert. In general, the guidance has been to use wsdl.exe to generate the webservice proxy, compile that proxy into a DLL, then finally load that DLL into memory. This is a topic that I cover in my upcoming book, and initially wrote a script to automate these proxy generation steps.
Allow me to be tragically late to the party in pointing out that Bruce Payette’s PowerShell in Action is now available. As shown by its Amazon page, the reviews are immensely positive. Unfortunately for me, I’ve sequestered myself from reading any of the PowerShell books until my own is complete. This one, however, calls longingly from co-workers’ desks as I walk down the halls :) Conversations with Bruce are always interesting, and this book is sure to not disappoint.
Over the last while, Scott Hanselman has been blogging a lot about some pretty cool ideas – controlling an IR port through C#, monkeying around with robots, and of course, PowerShell. This all came together today, with the publishing of the second part of his Coding4Fun series, “Microbric Viper Robot with an Iguanaworks IR Serial Port and PowerShell.” In this final part, he extends the PowerShell Logo example to make a real robot execute your PowerShell script.
It turns out that the chisel nib on a thick whiteboard marker is actually exceedingly good for whiteboard calligraphy. It gives an x-height of about 20mm, though :) The only problem is the guide lines – since on a whiteboard, there are none :) I’ve tried penciling them in, but that doesn’t work very well. I think my solution for that will be the true geek way – lasers.