Determining your 401(k) Contributions

On January 1, 2006, many companies began to offer the Roth 401(k): an alternative to the traditional 401(k) that allows you to contribute your money in after-tax dollars, rather than pre-tax dollars. Most (in my opinion incorrectly) summarize the difference as the following choice: “If you think you might be in a higher income tax bracket when you withdraw the funds, invest in the Roth 401(k). Otherwise, invest in a traditional 401(k).” Omar Shahine points to a good summary here: http://www.shahine.com/omar/Roth401k.aspx. (This started as a comment on that article, but quickly grew to a post in of itself.)

Break your Writer’s Block

In writing, overly-ambitious goals often mean not writing at all.

It sounds odd, but it’s true. Take most tumbleweed-ridden, ghost-town technical blogs. From my experience, the vast majority of them have authors that are working on this educational, pedagogical masterpiece – but their Magnum Opus sits in a half-finished Word document on their hard drive somewhere.  All of the sudden, the joy of writing begins to leech away: they want to blog something, but this 2,000 word monster draft mocks them from the shadows. Instead, they put it off for another day when they have the energy to tackle this massive pile of words again. Internal resistance builds up, then the blog goes silent.

Filtering on the Certificate Provider

Well, after a long holiday break, the first thing on both of our minds, naturally, is filtering on the Certificate Provider.

A suggestion came up recently in an internal discussion list to add more dynamic parameters to Get-ChildItem when you’re in the certificate provider. For example, the –CodeSign parameter is extremely useful:

[cert:\]
PS:2 > dir -rec -codesign

    Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\My

Thumbprint                                Subject
----------                                -------
5D103CCDCFE0D96748A305DFACA9C942ABFD73E7  CN=PowerShell User

 

[cert:\]
PS:3 > $cert = dir -Recurse -CodeSign

[cert:\]
PS:4 > Set-AuthenticodeSignature c:\temp\MyScript.ps1 $cert

    Directory: C:\temp

SignerCertificate                         Status                                 Path
-----------------                         ------                                 ----
5D103CCDCFE0D96748A305DFACA9C942ABFD73E7  Valid                                  MyScript.ps1

But – what about other certificate types, such as “Encrypting File System” ? We don’t expose this as a dynamic parameter, although that would be a useful feature.

Outlook Automation in PowerShell - Calendar Scrubbing

Here’s one thing you might have noticed happening to your Outlook calendar. As time goes on, the calendar titles get obscured by the ugly meeting barnacles such as “FW: " and “Updated: “. I don’t know anybody that cares about that meta-data, but it lives on – and I’d like to remove it.

Omar Shahine mentioned that he wrote an Outlook addin to do this once. Since I’ve been doing some mail management tasks with PowerShell lately (more on that in future posts,) I thought it might be a useful thing to demonstrate via Outlook’s Outlook.Application COM object.

TechTalk Interview Posted

If you missed the TechTalk radio interview (but wanted to hear it,) I’ve uploaded it here: http://www.leeholmes.com/projects/techtalk/techtalk_12-10-2006.mp3. Thanks, Tom, for an interesting interview!

Getting Started with PowerShell

One of the more common questions we get from people interested in PowerShell is “how do I get started?” They see  examples of PowerShell weilding its considerable strength, and are often intimidated by a perceived learning curve. It doesn’t have to be that way, though — PowerShell is easy to start playing with, and easy to continue learning.

First of all, you’ll want to download PowerShell. If you visit http://www.microsoft.com/PowerShell, you’ll get to the PowerShell homepage that lists an enormous number of resources. One of the first resources is a link to the download location.

Add Custom Methods and Properties to Types in PowerShell

To give a glimpse into the writing process behind my upcoming “Windows PowerShell - The Definitive Guide” (O’Reilly,) I’ll occasionally post entries “as the author sees it.”  This entry discusses PowerShell’s type extension files.

Add Custom Methods and Properties to Types

Problem

You want to add your own custom properties or methods to all objects of a certain type.¶

Solution

Use custom type extension files to add custom members to all objects of a type.¶

PowerShell Prompt Here PowerToy

Today, we have a guest post from Michael Murgolo. He’s developed a PowerShell Prompt Here powertoy (like the one we all know and love,) but this one doesn’t suffer from the uninstall bug that the current CMD Prompt Here powertoy (or its derivatives) do. And the explanation is awesome, to boot.

An Old PowerToy is New Again

by Michael Murgolo

PowerShell PowerToys Download

One of the most popular Windows PowerToys is the venerable Command (or CMD) Prompt Here. This PowerToy is still available as part of the Microsoft PowerToys for Windows XP or the Windows Server 2003 Resource Kit Tools. With this PowerToy installed, you can right click on a folder or drive in Windows Explorer and select CMD Prompt Here from the context menu. This will open a command prompt with the selected folder as the current directory.

Download the Official Windows PowerShell 1.0 Release!

A few minutes ago, Bob Muglia and Jeffrey Snover at IT Forum announced something at we’ve long been waiting for – the official Release to Web (RTW) of Windows PowerShell v1.0!

In late December of 2002, PowerShell entered the public eye when a Slashdot reader stumbled upon a job posting for “Microsoft’s Next Generation Shell”. About a year later, we officially announced the project (code-named “Monad”) at the 2003 Microsoft Professional Developer’s Conference. Things started to really pick up steam when we released our first really public preview in September of 2004 – a fact not missed by the ever vigilant Slashdot.

A New Virtual Earth Mashup in Born

About 8 months ago, I wrote a Virtual Earth mashup to display commute times to Microsoft in and around the Seattle area. It’s been very successful, and solves a big problem for many people looking to buy a house (amongst other things.)


http://www.leeholmes.com/projects/commute

About 3 or 4 months after posting the mashup, the Virtual Earth team changed a bunch of the APIs, which pretty much broke every existing mashup – including mine. I patched it up a bit some time later, but couldn’t spend the time to fully restore its functionality. For example, the zooming controls were broken, as were the panning controls.