windows - Dave's Blog

Photo of Dave
Search

It's Official: Duke Nukem Forever Coming From Gearbox In 2011

6 days ago"Given Duke Nukem Forever's epic development—it was first announced in 1997 as a sequel to Duke Nukem 3D—it might be wise to hedge on the later of those two release windows."PermalinkCommentsduke-nukem game video videogame

Windows 7 Accelerator Platform COM / C# Interop

Aug 20, 11:20

For a new project I'm working on involving IE's installed Accelerators and OpenSearch search providers via the Windows 7 Accelerator Platform, I've created a C#/COM interop class for those APIs.

Download the osinterop.cs interop file here.

PermalinkComments

DVD Ripping and Viewing in Windows Media Center

Aug 17, 3:05

I've just got a new media center PC connected directly to my television with lots of HD space and so I'm ripping a bunch of my DVDs to the PC so I don't have to fuss with the physical media. I'm ripping with DVD Rip, viewing the results in Windows 7's Windows Media Center after turning on the WMC DVD Library, and using a powershell script I wrote to copy over cover art and metadata.

My powershell script follows. To use it you must do the following:

  1. Run Windows Media Center with the DVD in the drive and view the disc's metadata info.
  2. Rip each DVD to its own subdirectory of a common directory.
  3. The name of the subdirectory to which the DVD is ripped must have the same name as the DVD name in the metadata. An exception to this are characters that aren't allowed in Windows paths (e.g. <, >, ?, *, etc)
  4. Run the script and pass the path to the common directory containing the DVD rips as the first parameter.
Running WMC and viewing the DVD's metadata forces WMC to copy the metadata off the Internet and cache it locally. After playing with Fiddler and reading this blog post on WMC metadata I made the following script that copies metadata and cover art from the WMC cache to the corresponding DVD rip directory.

Download copydvdinfo.ps1

PermalinkComments

pinvoke.net: ConsoleFunctions (kernel32)

Aug 14, 5:34pInvoke.net is a wiki for the C# interop declarations for various Win32 functions.PermalinkCommentspinvoke c# csharp consle api windows reference wiki technical

Securely Overwrite Files with a Built-in Command Line Trick

Jun 25, 2:58"... all you need to do is specify the /W switch and the file or folder you want to overwrite—after you have already deleted it. cipher /W:C:\Path\To\Folder"PermalinkCommentstechnical cmd privacy security windows cipher delete

Kevin Frei @ NWCPP: Exception Handling Cost

May 10, 7:23"Kevin Frei - Exception Hanlding Cost September 2006 meeting of the Northwest C++ Users Group. Discussion of the assembly language cost of exception handling on the x86 Windows and x64 Windows platform"PermalinkCommentsC++ programming language exception microsoft windows performance technical video

WebSandbox - Microsoft Live Labs

May 6, 7:16"Today web gadgets, mashup components, advertisements, and other 3rd party content on websites either run with full trust alongside your content or are isolated inside of IFrames. As a result, many modern web applications are intrinsically insecure, often with unpredictable service quality. Live Labs Web Sandbox addresses this problem."PermalinkCommentsweb browser web-sandbox technical javascript html windows live security sandbox microsoft silverlight

Mastering Windows Search using Advanced Query Syntax

Mar 28, 4:29Some interesting queries for Windows search like size:>50MB, broadcastdate:2005, datetaken:6/12/2006.PermalinkCommentswindows search syntax win7 howto technical

ClickOnce Deployment Overview

Mar 5, 12:33ClickOnce is a .NET app deployment technology that lets you easily install apps with minimal user interaction even from the web. This is what Google Chrome uses to install so easily.PermalinkCommentsmsdn technical development security windows .net csharp programming clickonce google chrome

Leaving the IE Team for Windows

Feb 26, 8:40

I'm making a switch from the IE team to the Windows team where I'll be working on the next version of Windows. As a going away surprise Jen and Nick added me to my gallery of Bill Gates (discussed previously). Here's a close up of the photoshopped cover.

Before:
Diveristy in Numbers
After:
Diversity Inc Photoshopped Covers

PermalinkCommentsmicrosoft bill gates photoshop windows

Defenestration

Feb 22, 8:27Its a building with the furniture escaping through windows... artPermalinkCommentsart san-francisco building window furniture

The Old New Thing : Advantages of knowing your x86 machine code

Feb 19, 2:27Raymond's tips for modifying x86 assembly code while debugging.PermalinkCommentstutorial debug debugging technical assembly x86 windows raymond-chen tips

Annotated x64 Disassembly

Feb 19, 2:26A short tutorial on debugging amd64 assemblyPermalinkCommentsmicrosoft tutorial msdn debug debugging technical assembly x64 amd64 windows documentation

Annotated x86 Disassembly

Feb 19, 2:25A short tutorial on debugging x86 assembly code.PermalinkCommentsmicrosoft tutorial msdn debug debugging technical assembly x86 windows documentation

Methods of Watching TV

Feb 3, 1:09If you've got cable, Internet, and Netflix you end up with a large number of TV viewing options. Its nice to have the options but is there some way to collect and summarize my available options at any one time?

TV PC
Comcast TV Xbox 360 + Windows Media Center Windows Media Center
Comcast OnDemand Cable box Fancast
Hulu Xbox 360 + PlayOn + Windows Media Center Hulu
Netflix Watch Instantly Xbox 360 + Netflix App Netflix Watch Instantly
Netflix DVDs Xbox 360 PC
PermalinkCommentstv xbox 360 wmc dvr

michaelv.org

Jan 25, 7:47Windows 3.1 done in HTML and Javascript. Memories...PermalinkCommentswindows windows31 humor web microsoft javascript html

How Flash Drives and Social Engineering can Compromise Networks

Jan 22, 1:44"He seeded the customer's parking lot with USB flash drives, each of which had a Trojan horse installed on it. When the employees arrived for work in the morning, they were quite excited to find the free gadgets laying around the parking lot. Employees eagerly collected the USB drives and plugged them into the first computers they came across: their own workstations."PermalinkCommentsvia:ericlaw security usb windows social-engineering computer technical

Understanding and Working in Protected Mode Internet Explorer

Jan 12, 7:10Info on writing apps to work with low rights mode in IE7 and IE8. Includes info on elevation policy for applicationsPermalinkCommentstechnical programming ie ie7 ie8 security elevation msdn microsoft windows

WPAD Server Fiddler Extension

Jan 5, 7:42

I've made a WPAD server Fiddler extension and in a fit of creativity I've named it: WPAD Server Fiddler Extension.

Of course you know about Fiddler, Eric's awesome HTTP debugger tool, the HTTP proxy that lets you inspect, visualize and modify the HTTP traffic that flows through it. And on the subject you've probably definitely heard of WPAD, the Web Proxy Auto Discovery protocol that allows web browsers like IE to use DHCP or DNS to automatically discover HTTP proxies on their network. While working on a particularly nasty WPAD bug towards the end of IE8 I really wished I had a way to see the WPAD requests and responses and modify PAC responses in Fiddler. Well the wishes of me of the past are now fulfilled by present day me as this Fiddler extension will respond to WPAD DHCP requests telling those clients (by default) that Fiddler is their proxy.

When I started working on this project I didn't really understand how DHCP worked especially with respect to WPAD. I won't bore you with my misconceptions: it works by having your one DHCP server on your network respond to regular DHCP requests as well as WPAD DHCP requests. And Windows I've found runs a DHCP client service (you can start/stop it via Start|Run|'services.msc', scroll to DHCP Client or via the command line with "net start/stop 'DHCP Client'") that caches DHCP server responses making it just slightly more difficult to test and debug my extension. If a Windows app uses the DHCP client APIs to ask for the WPAD option, this service will send out a DHCP request and take the first DHCP server response it gets. That means that if you're on a network with a DHCP server, my extension will be racing to respond to the client. If the DHCP server wins then the client ignores the WPAD response from my extension.

Various documents and tools I found useful while working on this:

PermalinkCommentsproxy fiddler http technical debug wpad pac tool dhcp

Description of WinSock Proxy Auto Detect Support

2009 Dec 12, 1:08WinSock uses a WPAD like protocol for... something?PermalinkCommentstechnical reference proxy wpad winsock windows
Older Entries Creative Commons License Some rights reserved.