Microsoft page 11 - Dave's Blog

Search
My timeline on Mastodon

Windows Vista Help: Opening the Windows Vista box

2008 Jan 31, 11:19Dang, my Vista must be broken!PermalinkCommentshumor howto box windows microsoft via:swannman help

Reusing Internet Explorer's Builtin CSS

2008 Jan 29, 9:32

When throwing together an HTML page at work that other people will view, I stick the following line in for style. Its IE's error page CSS and contaits a subtle gradient background that I like.

This uses the res URI scheme. You can see the other interesting IE resources using my resource list tool.PermalinkCommentsresource technical css internet-explorer ie res

Download details: PowerPoint Viewer 2007

2008 Jan 28, 7:54A free PowerPoint file viewer.PermalinkCommentsfree microsoft office powerpoint tools windows

/EP (Preprocess to stdout Without #line Directives) (C++)

2008 Jan 28, 2:42Use this option with cl.exe (the Visual Studio C/C++ compiler) to see what your files look like after all the #define macro magic occurs. Useful when debugging crufty or organic macros.PermalinkCommentsmicrosoft msdn reference c++ cpp preprocessor tool compiler cl

New Scientist Technology Blog: Phones that plan their meals

2008 Jan 25, 1:54Research paper suggests location aware cellphones ask their owners to charge them when the phones see they're at home.PermalinkCommentsarticle newscientist research cellphone battery power microsoft

GPDE Team Blog : JavaScript Memory Leak Detector

2008 Jan 25, 1:35GPDE team has a tool to help find memory leaks for JavaScript running in IE.PermalinkCommentsvia:kris.kowal microsoft ie javascript blog article tool free memory-leak programming

Katemonkey.co.uk: X-UA-Lemur-Compatible

2008 Jan 24, 5:16Lemur's discuss the IE8 compat flags. Note: this was a reenactment.PermalinkCommentsvia:molly cute humor ie microsoft standard web ie8

Registration Info Editor (REGEDIT) Command-Line Switches

2008 Jan 21, 2:13FTA: "This article describes the command-line switches for REGEDIT.EXE."PermalinkCommentsmicrosoft reference regedit registry editor windows command

Stephen Toub : DVR-MS: Adventures in Closed Captioning

2008 Jan 14, 10:16Stephen Toub implements closed captioning searching of videos recorded with Windows Media Center through Windows Desktop Search as an IFilter. I wanted to do the same thing after reading the related Ars Technica article. Other interesting things in thePermalinkComments.net mce programming reference video caption dvr-ms howto ifilter development com software microsoft msdn blog article

HIMAGELIST Stream Size

2008 Jan 12, 2:26If you're like me you need to serialize an object that contains an HIMAGELIST via IMarshal for COM's marshalling. I could use ImageList_Write to actually write the HIMAGELIST to a stream for IMarshal::MarshalInterface, but I needed to know the size of the data that I was going to write for IMarshal::GetMarshalSizeMax. I thought I'd use HIMAGELIST_QueryInterface to get an IPersistStream pointer which works, but alas its implementation of IPersistStream::GetMaxSize just returns E_NOTIMPL. Ultimately I called ImageList_Write on a special stream that ignores the data passed to it and just records how much data is written to it. In this fashion I could get the size the HIMAGELIST would require when written to a stream.PermalinkCommentstechnical himagelist boring serialize imarshal com

IPv6 Roundup: Address Syntax on Windows

2008 Jan 9, 11:34

IPv6 address syntax consists of 8 groupings of colon delimited 16-bit hex values making up the 128-bit address. An optional double colon can replace any consecutive sequence of 0 valued hex values. For example the following is a valid IPv6 address: fe80::2c02:db79

Some IPv6 addresses aren't global and in those cases need a scope ID to describe their context. These get a '%' followed by the scope ID. For example the previous example with a scope ID of '8' would be: fe80::2c02:db79%8

IPv6 addresses in URIs may appear in the host section of a URI as long as they're enclosed by square brackets. For example: http://[fe80::2c02:db79]/. The RFC explicitly notes that there isn't a way to add a scope ID to the IPv6 address in a URI. However a draft document describes adding scope IDs to IPv6 addresses in URIs. The draft document uses the IPvFuture production from the URI RFC with a 'v1' to add a new hostname syntax and a '+' instead of a '%' for delimiting the scope id. For example: http://[v1.fe80::2c02:db79+8]/. However, this is still a draft document, not a final standard, and I don't know of any system that works this way.

In Windows XPSP2 the IPv6 stack is available but disabled by default. To enable the IPv6 stack, at a command prompt run 'netsh interface ipv6 install'. In Vista IPv6 is the on by default and cannot be turned off, while the IPv4 stack is optional and may be turned off by a command similar to the previous.

Once you have IPv6 on in your OS you can turn on IPv6 for IIS6 or just use IIS7. The address ::1 refers to the local machine.

In some places in Windows like UNC paths, IPv6 addresses aren't allowed. In those cases you can use a Vista DNS IPv6 hack that lives in the OS name resolution stack that transforms particularly crafted names into IPv6 addresses. Take your IPv6 address, replace the ':'s with '-'s and the '%' with an 's' and then append '.ipv6-literal.net' to the end. For example: fe80--2c02-db79s8.ipv6-literal.net. That name will resolve to the same example I've been using in Vista. This transformation occurs inside the system's local name resolution stack so no DNS servers are involved, although Microsoft does own the ipv6-literal.net domain name.

MSDN describes IPv6 addresses in URIs in Windows and I've described IPv6 addresses in URIs in IE7. File URIs in IE7 don't support IPv6 addresses. If you want to put a scope ID in a URI in IE7 you use a '%25' to delimit the scope ID and due to a bug you must have at least two digits in your scope ID. So, to take the previous example: http://[fe80::2c02:db79%2508]/. Note that its 08 rather than just 8.

PermalinkCommentsroundup ip windows ipv6 technical microsoft boring syntax

Microspotting: The Golden Helmet

2007 Dec 31, 2:49Interview with that guy on the Segway I always see riding around Microsoft. FTA: "So, you never feel dorky wearing a gold helmet?", "Come on: I'm riding a Segway - I'm already dorky."PermalinkCommentsinterview blog segway humor microsoft

Cycling around Seattle

2007 Dec 28, 8:23Todd's cycling blog.|Todd SahlPermalinkCommentsfriend blog microsoft bike todd-sahl seattle

Old Miscellaneous Thoughts

2007 Dec 26, 5:45Miscellaneous thoughts I had that would have been relevant many months ago:
PermalinkCommentspopfly apple personal history-channel indiana-jones pipes mac technical microsoft mashup yahoo nontechnical

Zune Arts

2007 Dec 13, 4:54Some interesting animated videos created for the Zune Ad campaign but created by actual artists.PermalinkCommentszune art advertising animation design flash microsoft music video

FeedSync 1.0 Spec (formerly known as SSE)

2007 Dec 6, 12:24The spec for FeedSync which allows for synchronizing RSS and Atom files among multiple machines.PermalinkCommentssse rss atom feedsync feed specification microsoft

Windows Media Center and Zune Integration Hack

2007 Nov 28, 1:23One of the new Zune features that had me the most excited was the claimed improved Windows Media Center integration which unfortunately turned out to simply mean support for the Win MCE video format (with an exception for HD). I wanted to be able to pick shows recorded by my Win MCE and have the Zune automatically sync up the latest episodes. However, with the improved podcast support in the Zune software one can easily create a ridiculous hack to accomplish this.

The new Zune software has podcast support which does everything I'd want to do with a Win MCE recorded TV series so the goal is to shoehorn a TV series into a Zune podcast. An overview of the steps: Create an XSLT that converts Win MCE data to a podcast, run the XSLT as a scheduled task every few hours per TV series, setup a Web server pointed at the resulting podcasts and the Win MCE Recorded TV directory, and subscribe to the resulting podcasts in the Zune software.
  1. Reading through the Win MCE data stored as an XML file in "C:\ProgramData\Microsoft\eHome\Recording\Recordings.xml" and the spec for podcasts I created an XSLT to convert a series from Win MCE data to a podcast.
  2. I added a new task to the Scheduled Tasks to run my XSLT using my xsltproc.js script. The task runs a handful of commands that look something like the following:

    C:\windows\system32\wscript.exe C:\users\dave\bin\xsltproc.js C:\Users\Dave\Documents\trunk\development\mce-zune\mce-to-podcast.xslt C:\ProgramData\Microsoft\eHome\Recording\Recordings.xml --param title "The Daily Show With Jon Stewart" --param max 4 --param baseURI "http://groucho/" --param thisRelURI "tds.xml" -o "D:\recorded tv\tds.xml"

    For each TV series I run a command like the above and that outputs a podcast for that series into my "D:\Recorded TV\" directory.
  3. Zune only allows http URIs for its podcasts so I installed a web server on my Win MCE server. I'm running Vista Ultimate so it was quick and easy for me to install IIS7 but any Web server will do. Then I pointed it at "D:\Recorded TV\".
  4. Once all the above was done I just subscribed to the resulting podcasts via my Web server and viola! Since I'm forced to use a Web server I can even run the Zune software on a machine other than my Win MCE server. You can see a screen-shot above of my Zune software showing my Colbert Report podcast.
PermalinkCommentstechnical xml mce hack windows media center zune windows xslt podcast

Vishu and Patent Cube

2007 Nov 28, 5:07Vishu, my ex-office-mate, has left Washington and Microsoft for California and Facebook. Vishu and I shared an office for a while and I really enjoyed it. We were able to distract one another from, and help each other with work. We'd often bounce ideas off of one another, work related or otherwise. For one such idea I recently received a Microsoft patent cube, a small marble cube inscribed with my and my invention's name. There are some photos of other people's patent cubes on flickr. Vishu would have received one for this idea too since we developed the idea and wrote the document about it together, but they wait a long time to send you the cube and he was gone a few weeks before they sent it (don't worry, he got the credit and other rewards though).

A week or two after I got my cube Vishu was visiting the Microsoft campus just before moving his family down with him to California. A bunch of us joined him for lunch that day and it sounds like he's enjoying his new job already. Have fun Vishu!PermalinkCommentsmicrosoft facebook vishu cube patent nontechnical

Zune.net's User Card Service

2007 Nov 19, 4:15Replace the zunetag parameter in the URI with the desired Zune username to find the user's Zune social data such as Favorites, Recent Tracks, etc.PermalinkCommentszune microsoft xml

Zune Software Update

2007 Nov 19, 3:47I really appreciate that the first gen Zune's get the new Zune's firmware and software. I like the updated Zune software personally because its faster and simpler, has better podcast support, and the whole social thing has is on their website now. So, I guess I like the software because it has new features that should have been there in the first place.

The social thing is like a Zune social network. It uses your Xbox Live friends to seed your Zune friends list, lets you do the expected social network stuff, lets you preview songs, and unlike first gen Zunes which required face to face time with other Zune owners, allows you to send songs to people. It also lets you display your recently played tracks and your favorite tracks, similar to what Last.FM has, via a Zune Card. I like the Zune Card from a technical perspective because it separates the Zune Card view, written in flash from the User Card data which is in XML. I hope they intend to keep the XML available via this UserCard Service because I think there's potential to easily do cool things.PermalinkCommentsmicrosoft technical music zune social
Older EntriesNewer Entries Creative Commons License Some rights reserved.