Skip to content
Aug 29 05

WinFS ships beta 1, and support for Windows XP!

by Brandon

Earlier than even I expected, WinFS beta 1 has shipped via MSDN.

Tom Rizzo had the original scoop.

There’s a video some demos at Channel 9.

There’s also a new WinFS Blog.

Bazzoni has screenshots!

Aug 9 05

Access Linux partitions from Windows

by Brandon

Just saw that Stephan Schreiber has created an IFS (Installable File System) driver that give Windows support for the Linux “ext2” filesystem.  It’s available at his site, here. 

Like some of the Linux NTFS drivers, this one does not obey the filesystem’s file and directory security.

One must wonder if Windows bootdisks will become a common tool to hack poorly protected Linux passwords 😉

Aug 2 05

Steve blogs about how to add custom search locations to WDS

by Brandon

Check it out!

Steve Ickman’s WDS blog

Jul 28 05

Washington Joke (and it doesn’t involve rain!)

by Brandon

God was missing for six days. Eventually, Michael, the
archangel, found him, resting on the seventh day. He inquired of God.

“Where have you been?” God sighed a deep sigh of satisfaction, and proudly pointed downwards through the clouds. “Look, Michael, what I’ve made.”

Archangel Michael looked puzzled, and said, “What is it?” “It’s a planet,” replied God, “and I’ve put Life on it. I’m going to call it Earth and it’s going to be a great place of balance.”

“Balance?” inquired Michael, still confused.

God explained, pointing to different parts of earth. “For example, Northern Europe will be a place of great opportunity and wealth, while Southern Europe is going to be poor. Over there I’ve placed a continent of white people, and there is a continent of black people. Balance in all things,” God continued pointing to different countries. “This one will be extremely hot, while this one will be very cold and covered in ice.”

The Archangel, impressed by God’s work, then pointed to a land area and said, “What’s that one?” “Ah,” said God, “That’s Washington State, the most glorious place on earth. There are beautiful mountains, rivers and streams, lakes, forests, hills, and plains. The people from Washington State are going to be intelligent, honest, nice, modest, and genuinely caring for the planet as well as the welfare of others. They will also be extremely hardworking, high achieving, and they will be known throughout the world as diplomats, and ambassadors of peace.” Michael gasped in wonder and admiration, but then proclaimed, “What about balance, God? You said there would be balance.”

God smiled.

“There is another Washington… wait until you see the idiots I put there.”

Jul 21 05

Scoble says a Longhorn announcement is coming.

by Brandon

Scoble says that an announcement is coming tomorrow morning around 6am. 

He says it’ll be posted here.

I wonder what it could be?

Jul 21 05

Oh dear… Google Maps + HotOrNot = hot people by zip code

by Brandon

Just saw this via Neowin…

http://apps.hotornot.com/jeff/

Who comes up with this stuff?  Seriously?

Jul 20 05

So where AM I working?

by Brandon

Gretchen over at the JobsBlog posted an entry about the campus I’m working at, what we call “RedWest” campus.  The first thing I was told about Red West when I got here was that it has the best cafeteria. 

http://blogs.msdn.com/jobsblog/archive/2005/07/12/438157.aspx

One little touch specific to Red West that I like is the preponderance of MSN flags (which line the road through our little set of buildings).  There’s a certain pride to working at MSN nowadays.  We’re the front line in the battle with Google.  And having our own little campus really ties in with that start-up kind of mentality.    We ship early* and ship often.  From Messenger and Hotmail to Desktop Search, IE tabs, Spaces, and Virtual Earth… We’re doing the cool shit. 

And if you think those are sweet, just wait til you see what we’ve got coming.

 

* Well, maybe not early, more like… less late 😉  

Jul 18 05

Safest cars in the world.

by Brandon

I’m always talking about how much I love my Audi.  One point I often make when people ask me about it is safety.  I feel safe knowing that my car was designed to protect me and my passengers.

So far this year the Insurance Institute for Highway Safety has given four cars their “Double Best Pick” – meaning perfect scores in both front and side-impact crash testing.  Two of them were Audis.  From CNN.com:

Only four vehicles have earned the “Double best pick” rating from the Institute: Audi A4, Audi A6, the Saab 9-3 and the Toyota RAV4 with optional side airbags.

I’m awaiting their test of the A3, but I expect it will live up to its bretheren.

Jul 15 05

Want to index your Trillian IM logs?

by Brandon

Jeff Schoolcraft wrote in his blog about a problem he had getting WDS to index his Trillian log files, which are text files with a “.log“ extension – an extension we ignore by default.  Removing that extension from the ignore list will get the files indexed (assuming you choose to index the appropriate folder), but it then displays some bizarre behavior when returning results.

As a fellow Trillian user I sympathized with Jeff’s problem, although I hadn’t yet tried to index those logs.  Upon discovering this problem, I decided to look into a way to make it work in our current release.

My first thought was… why doesn’t Trillian use XML like Messenger does?  Well actually, it turns out that Trillian 3.x also writes an “XML” file for each log in addition to the .log – but unfortunately, it isn’t valid XML and it doesn’t include an XSLT. Otherwise, we could display it just like we do MSN Messenger logs.

Ideally, it would be great if Trillian could fix that, and then we’d have results comparable to Messenger.  It’s probably even something that can be done with a Trillian plug-in.  But in the meantime, I found another solution for the *.log problem:

This temporary workaround requires that you edit the registry.
DO NOT ATTEMPT TO EDIT THE REGISTRY IF YOU DON’T KNOW WHAT YOU’RE DOING.

1) Open regedit as an Administrator.
2) Navigate to the HKEY_CLASSES_ROOT\.log key
3) Right-click on the key and select “New String Value”
4) Name the string “Content Type” and set it to “text/plain”

Now .log files will work just like .txt files, allowing you to search your Trillian logs.

Jul 13 05

Desktop Search SDK FAQ: What column names can I ask for?

by Brandon

So our (beta) SDK sample includes a sizeable list of column names that you can ask for from the indexer (in the QueryBuilder.cs file)… but it’s far from a full list.  These are the string constants that you pass to ExecuteQuery in the second parameter (and also you pass one of them as the third parameter to sort by).  ExecuteQuery works like this:

_Recordset resultSet = foo.ExecuteQuery(“a query to search for“, “DocTitle, DocAuthor, Url“, “DocTitle“, null)

Let’s break those down:

Param 1:  The first parameter is the query string, which is usually the user’s input.  Now… you can take more control by modifying the user’s input.  For example, if I’m building a music organizer, I might want to do this:

string foo = userInput + “ kind:music“;

Or if you’re like me (and use obscure file formats), userInput + “ fileext:(wma OR mp3 OR shn OR flac OR ogg OR mp4 OR aac)“ and so on =)

Param 2: This is the list of columns you want back – formatted as a comma delimited string.  If you pass invalid column names or an improperly formatted string, the COM interface will throw an exception (so validate your input!).  This is the SELECT portion of the SQL expression.

Param 3: This is the column you want the results ordered by.  This directly becomes the ORDER BY clause so you’ll need to pass it in as “RecievedDate DESC” or “ReceivedDate ASC”.  This value must be explicitly set to null (or Nothing in vb) if you don’t want the results sorted.  Due to a bug in 2.5 passing an empty string (“”) will cause the method to fail.

Param 4: This is any optional constraint you want appended to the SQL expressions WHERE clause.  Why do you need this?  It let’s you filter the results to a particular type without have to append the AQS expression of “type:email” to the users query.  To constrain the results to email you’d pass in “Contains(PerceivedType,’email’)”. This value must also be explicitly set to null if you don’t want any additional constraint applied.  Due to a bug in 2.5 passing an empty string (“”) will cause the method to fail.

So how do you know what to send in the second and third parameters?

This is COMPLETEY UNSUPPORTED and all column names are SUBJECT TO CHANGE (and probably will) in future releases.  Once again, our SDK and API are considered BETA components and are subject to change.  Changing the registry can have very adverse effects on your system and do not attempt to use regedit unless you know what you’re doing.

We have the ability to log queries for support/diagnostic purposes by adding a DWORD to the registry named WriteLog under the key HKCU\Software\Microsoft\MSN Apps\DS and setting it to 1.  As it turns out, the log that’s created is especially useful for developers.  Once you’ve enabled logging, we log the SQL that is generated for every query in a file in your root path called “query.txt“

By running a query with this logging enabled, you can see the SQL that is generated.  The SELECT statement will include all the columns that the UI asked for. 

As I said above, the column names are probably going to change in future releases.  While we do strive to keep from breaking things whenever possible, we have intentionally not documented these column names because we’re not ready to say that they’re final.  Because of this please plan on future WDS releases changing these interfaces and the column names.  No one here wants to make working with our stuff difficult for you, but for a fairly new product like ours we’re not yet comfortable with the burden that comes with promising future compatability on our current APIs – and we wouldn’t be repeating this disclaimer over and over if it wasn’t a serious concern for us.