.comment-link {margin-left:.6em;}

I Hate Linux

Friday, April 25, 2008

One Month In

This morning I realized that one month ago yesterday (3/24) I arrived bright and early to building 43 on the Microsoft campus to begin NEO (New Employee Orientation) and to begin my career with Microsoft.

What a month it's been.

While all of the 24th and a good chunk of the 25th were spent in NEO, it was afterwards I got to join the team officially, meet my new co-workers and begin to learn things behind the scenes details that I would have killed to have known (and blogged about) earlier.

At the end of my first day with the team there was a team-wide meeting (a weekly thing) and when I finished introducing myself, General Manager Charlie Kindel spoke up and said "For those of you who know the I Hate Linux blog... that's him!" to which ~3/4ths of the room nodded or reacted in some way, some out of recognition... others out of... something else which I've yet to fully identify.

Since then it's pretty amazing meeting and working with people who know my work and whose work I know... even though only now am I able to put names to various components and technologies, but also names I recognized from the beta test and beta newsgroup, the forums, the official Home Server blog, the various Channel 9 and on10 videos... and even the MVPs (more on them another day).

I hate to use the word again... but it's an amazing experience being there where I'm surrounded by a group of wickedly smart and driven people who love Windows Home Server just as much (and in a number of impressive cases cases more) than me.

So what am I doing there? Sadly I can't say much (gotta love an NDA)... but aside from learning where the bathrooms are and how to find my way around the building... I've been helping out on some details which have already been discussed elsewhere, I've also begun to take ownership of some portions of the SDK and extensibility model with the question in the background of how much of it will I own in the end. Why this area and why this question?

Part of the first phone interview went something like this with the WHS Dev Manager:

Interviewer: "If you could change anything in Windows Home Server, what would that be?"

Me: <2-3 minute monolog about some of my beefs with the current extensibility system>

Interviewer: "So you think you'd like to work with the extensibility model?"

Me: "Yes... only I think saying 'extensibility model' is too limiting... I think the entire 'extensibility lifecycle' needs work because... <another 2-3 minute monolog about the current extensibility system and where I'd like to see it go>"

They seemed to like (and even agree) with some/much of what I'd said... so part of my job will be trying to find new ways that developers can utilize the platform that is Windows Home Server for new and interesting things... which is the perfect fit for a developer who spent a great deal of time trying to do just that... only now when I run into an impediment I'll be the one who can change something without the need for fist shaking (see picture 5).

Other than that I can't say much... partially because there is an NDA in place which keeps me from talking about what's coming in future in Windows Home Server or other projects/products I may have been privy to... but mostly because I've got to be heading to work now!

So Stay tuned for more info on a variety of topics, but be warned that I wont be blogging much here (at least about Windows Home Server) until after Power Pack 1 ships.

Labels: ,

Friday, February 22, 2008

Mr. Grant Goes to Washington (state)

... or Borg.Assimilate(Me)

... or Brendan.Drink(Drink.KoolAid);

... or Brendan.Soul.Sell(Microsoft)

... or Brendan.Employer.Name = "Microsoft";

At last the background checks are complete and now all that remains is the move and my first day...

On March 24th I will be joining the Windows Home Server team (yes at Microsoft) as a Software Development Engineer.

Bo ya!

When did this happen?

Back on February 4th I flew out to Seattle, WA, spent a full day interviewing with the team the next day and had the recruiter trying to make an offer the day after that.

(I'll write about the exhausting interview process another day)

Leading up to this trip I tried to keep the number of people in the know as small as possible... in fact only one family member knew about this trip prior to returning home... but now the world can know!

What'd you see?

While I didn't see anything I shouldn't, I did have the opportunity to meet (and interview with) Windows Home Server General Manager Charlie Kindel (on Channel 9) and Lead Developer Chris Gray (on Channel 9) as well as quite a few other amazing folks (none of whom seem to have a blog) that I look forward to working with very soon.

Unfortunately I didn't get to see the old hockey puck design, I did have the chance to see some very old prototypes of the MediaSmart server as well as a few completed units (something I'd never seen in person) as well as getting to stick my head into a build lab that had more computers and storage than is easily comprehended.

Why the delay in the announcement?

While not normally a paranoid person, from time to time I do worry a bit in this case wanted to make sure that the background check came back clean before saying too much... and now I can with the knowledge that Microsoft doesn't care that I used to bear a striking resemblance to a certain known terrorist.

What does this mean for this blog?

This blog was started long ago as a personal blog with my rants and raves on various topics both political and technical. When Windows Home Server came out and I started spending more time programming with it it started to move that way... something that is going to be changing a bit.

Once I'm settled in Redmond and have begun work I intend to start a new blog (likely on blogs.msdn.com or blogs.technet.com) that will focus (near) exclusively on Windows Home Server, allowing this one to revert back to it's previous state of a personal blog and allow readers to be able to more easily sort back and forth.

Stay tuned for further details on this transition. Note though that due to how busy the next month will be, my WHS Dev Tips series may continue to be delayed a bit (amazingly I wasn't scolded or asked to stop while there).

What's next?

Even though my start date is penciled in for March 24th, a full month away... the next month is going to be incredibly busy with moving the week of the 17th, teaching my final programming class during the week of the 10th, packing and cleaning like a mad man during the week of the 3rd as well as taking a trip to Seattle to try to find a place to live, and visiting the Democratic People's Republic of Minnesota (DPRM) next week to collect a few things and say a couple good byes.

That all said... here I come building 43!

Labels: ,

Sunday, February 10, 2008

Proof of concept add-in: Media Connect Controller

While the Home Server Console exposes the ability to share ones built in Videos, Music and Pictures shares using Windows Media Connect (WMC) (Microsoft's implementation of the Universal Plug and Play Audio and Video standards)... the Home Server UI falls flat if one wants to share digital content (via WMC) from even more shares or a custom another share with a a more appealing name (ie Tunes, Tunez, MP3z, etc instead of Music).

Compare the current settings page:

Media Sharing

With a test one I've created:

Media Connect Controller - Settings

Using a bit of the the undocumented bits of the Home Server Console, it is possible to exposing of a WHS share via WMC (to be written about another time) pretty easily... the question currently before me is how to expose this functionality to the average user?

  1. Do I want to stick with a standard settings page (as seen above)?
  2. Implement a whole new main console tab that displays a list of the shares and does nothing but let you enable/disable WMC for each?
  3. Hook into the existing Shared Folders list and add a pair of menu items for enabling/disabling WMC:

Media Connect Controller - Shared Folders view

Any opinions?

Ideally I'd also like this add-in to expose a bit of the functionality we see in Windows Vista or even on a tool hidden away on Windows Home Server for configuring which PC's can access the shared content... but that's a little ways off.

Existing tool on Windows Home Server:

Windows Media Connect - Configuration

Vista:

Media Sharing - Vista

Labels: ,

Wednesday, January 23, 2008

New Home Server Add-in: Tab Manager

In yet another attempt to make the Home Server Console a little more manageable with regards to multiple tabs, Tab Manager allows a user to bypass the normal Home Server Add-in loading mechanism and display whatever tabs they want inside of another tab.

Say what?

Rather than having a cluttered tab tool bar full of lots and lots of add-ins:

Home Server Console - Lots of tabs

A user can offload the tabs they use less often to be only displayed:

Home Server Console - With Tab Manager

And after you've selected the tab you want, you can collapse the list:

Home Server Console - With Tab Manager - Hidden

All the while still making all of the settings pages in the Settings dialog (relatively) normally available:

Tab Manager Settings

How it works

Existing readers of this blog will likely know that the Home Server Console looks for add-in tabs in assemblies with the following naming style: HomeServerConsoleTab.TabName.dll

By simply renaming those assemblies (ie HomeServerConsoleTab.SomeAddin.dll to HomeServerConsoleTab.TabManager.SomeAddin.dll), the add-in will no longer be loaded automatically by the Home Server Console and through the use of some code borrowed from Test Loader, are loaded instead by Tab Manager.

Aside from providing a new organizational home for the tabs, Tab Manager provides much of the same functionality as the Home Server Console with regards to tab ordering and ITabExtender (with the exception of ITabStatus support).

On the Settings side of things, Tab Manager's Settings tab uses ITabExtender to create a chain of custom settings tabs (using the Next property) to provide the Settings form access to the actual settings pages in a way that it expects/can handle.

In a later version I may offer a way to remove Settings tabs from view in a manner similar to... however I need to come up with reasonable way of doing this visually.

Warning

As is the case with (now) the majority of my add-ins, this add-in utilizes undocumented and unsupported mechanisms of Windows Home Server that could be misunderstood by me or change at any time possibly leading to a users Home Server no longer functioning correctly.

This add-in is by no means done and still is in need of some polish and is not advised at this time for wide spread use.

Please use caution with this add-in and use at your own risk.

If you are feeling daring and want to give it a try and offer feedback... please do.

If not, don't fret, the next version(s) will be even better thanks to those daring folks that tested out and gave feedback on earlier versions.

Usage

After you have installed the add-in...

  1. Launch the Windows Home Server Console
  2. Launch the Settings dialog
  3. Select the Tab Manager tab
  4. Select an assembly from the Standard Assemblies list and press the button with the Right arrow to move it to the Managed Assemblies list
  5. Repeat this process until all assemblies you want to be under the control of Tab Manager have been moved
  6. Press the OK button
  7. Click the Yes button to close the Windows Home Server Console
  8. Relaunch the Windows Home Server Console
  9. Select the Tab Manager tab
  10. Select desired tab from list.

Assemblies listed on the Standard Assemblies list are those that are automatically loaded by the Home Server Console, while those under the Managed Assemblies list are loaded by Tab Manager instead. Moving assemblies between the lists is as simple as double clicking on the item, or single clicking and using the appropriate button to move it.

Uninstalling this add-in does not automatically rename the modified files back to their original names. This is something I am looking into for the next version, in the mean time if/when you do decide to uninstall this add-in, you will need to add the desired files back to the Standard Assemblies list.

Note: No file name changes are made until the settings are applied through the use of the OK or Apply buttons.

Known issues

  • Tab Reorderer is unaware of tabs loaded through Tab Manager and can result in not all tabs being displayed on it's list or even phantom tabs without icons.
  • If loaded through Tab Manager, Tab Scroller still functions however it does not remove it's own icon.

Both of these issues will be resolved in a later version that will include the functionality of Tab Reorderer and Tab Scroller being added natively to Tab Manager (and reduce my add-in count from 5 to 3).

  • Any add-in that exposes status information (ie the main Microsoft tabs) will still work, however no status bar information will be displayed.
  • Some third-party add-ins that expect a given assembly name may not be able to load/save their settings.
  • Non-English systems may have issues loading the correct language for localized add-ins.

Downloads

Labels: ,

Wednesday, January 16, 2008

Coming Soon: Tab Management

Last month I mentioned a proof of concept add-in I was working on to change the way a user looks at some of the tabs in the Home Server Console.

I'm pleased to say that this add-in still proceeds (granted fairly slowly over the last month) and with any luck will be available in an early form before too long.

It works quite well today... only it needs a little more polishing, eye candy (not to mention a fair bit more testing) before I'll make it available.

The current build gives a better look when expanding and hiding the secondary tab list.

Expanded:

Tab Management - Main View

Hidden:

Tab Management - Hidden

Part of the delay was figuring out a good way to not display tabs in the main console view... but still make them available in the Settings panel:

Tab Management - Settings

A bit of work remains with regards to preserving existing tab order (on both sides) as well as other general sorting.

Labels: ,

Tuesday, January 15, 2008

Amazing New Add-in: Disk Management

After first seeing the announcement of Sam Wood's new Disk Management add-in I cursed at being beaten out of the door with a tool to help a user figure out which drive is which in their Home Server Console as my attempt kept getting pushed back due to other priorities.

Then I used it... and was thrilled, and floored.

Not only does it provide a fairly nice user interface, it also includes some undocumented functionality for adding and removing disks making it (in some parts) a replacement for the Storage Management tab.

Great job Sam!

Links:

One other fairly impressive thing about this is that Sam isn't just a WHS add-in author... but also a blogger on the subject of 4GW (4th Generation Warfare).

(Take a look at this this quick post from my buddy Dan (aka tdaxp) for a quick primer on the generations of warfare)

Part of what makes the subject so interesting (as well as the talk of 5GW) is that many of it's implications also have parallels in software development with regards to overall agility of strategy and resources.

Labels: ,

Sunday, December 30, 2007

How many tabs is too many?

Ever wonder how many console tabs the Windows Home Server Console can display?

So did I... so I built a few extra projects and deployed them to my Home Server:

Projects Dir

The answer is... 100 and believe it or not... that's a bad thing!

100 Tabs

As much as I would like to see such wide spread WHS development that there were 100+ add-ins to choose from... it'll likely be a long while before we see anything like that ... it's also probably unlikely that when that day happens very many people (if any) will install that many add-ins... but for those that do an obvious problem will hit them hard... some tabs not being displayed.

Look again at the above image of all of the tabs being scrolled through. Missing a few important things isn't it?

When tabs are loaded, the assemblies they are contained within are loaded in alphabetical order and once the limit is reached, no new tabs are added to the Console and only warnings are added to the event HomeServerConsole log file:

[1]071230.131656.5468: Init: Error: Too many tabs - extra is ignored
[1]071230.131656.5625: Init: Error: Too many settings - extra is ignored
[1]071230.131656.6562: Init: Error: Too many tabs - extra is ignored
[1]071230.131656.7031: Init: Error: Too many settings - extra is ignored
[1]071230.131656.7656: Init: Error: Too many tabs - extra is ignored
[1]071230.131656.8906: Init: Error: Too many settings - extra is ignored
[1]071230.131657.4218: Init: Error: Too many tabs - extra is ignored
[1]071230.131657.6250: Init: Error: Too many settings - extra is ignored
[1]071230.131657.7031: Init: Error: Too many settings - extra is ignored

This is an interesting non-graceful failure as it is very possible that after a user adds too many tabs to their Home Server Console... they will not be able to easily remove an add-in or two to bring them back under the 100 tab limit using the Add-ins Settings page as they ordinarily would as it is very possible that it would be one of the first victims of this limit... after all it is located in the HomeServerConsoleTab.Storage.dll assembly which is pretty late in the alphabet

For reference, here is how the same non-graceful failure appears in the Settings dialog:

Settings - Start

Settings - End

Labels: ,

Tuesday, December 25, 2007

Indefinite WHS testing in VPC

In many homes this morning countless children screamed and yelled as they discovered Santa had visited and left them just what they'd asked for.

What follows is something I learned a few weeks ago and that made me act similarly... only I was giggling like a school girl.

This blog post last week was my Santa.

A major pain point I've encountered with testing custom code in an unactivated copy of Windows Home Server running in Virtual PC is that it automatically syncs the guest PC's clock to that of the host PC, ensuring only 30 days of testing before needing to reinstall, not so anymore with the host_time_sync section in a .vpc file:

<microsoft>
  <components>
    <host_time_sync>
      <enabled type="boolean">true</enabled>
    </host_time_sync>
  </components>

Needless to say I was quite let down when months ago I saw this blog post from the same author, saying there was no way to do it. What's worse is that I missed the comment saying how it is possible.

Now my test VPC will keep on reporting that it was installed on 12/2/2007, that today is 12/9/2007 and I've got 23 days until Windows requires activation... something it will keep thinking so long as I don't commit changes to the virtual hard disks.

If however I save changes to the undo disks the counter will proceed forward... until I throw out those changes and revert back to the previous state with a mouse click.

It should be noted that this kind of hack is largely worthless for piracy purposes (as far as Windows Home Server is concerned) and only useful for testing as it is only effective so long as you do not commit changed to the virtual hard disks... because if you do you allow the activation timer to keep on counting down and eventually expire.

Merry Christmas and Happy Testing!

Labels: ,

Thursday, December 13, 2007

WHS Dev Tips: Correction

On Monday and Tuesday I made a horrible mistake in the two part WHS Dev Tip on remote and local debugging as I completely forgot about the static Control.CheckForIllegalCrossThreadCalls property that can be used to get around debug time exceptions such as this one:

Invalid Operation Exception

Both tips #9 and #9.5 have been updated to reflect this new information and to make working with Express sound less full of doom and gloom.

I must admit that until very recently... I didn't know about this property as I had no need for it. When I'd have an issue with an illegal cross thread operation in my code, I'd fix it as I'm quite anal about fixing easily reproduced bugs and not just suppressing them.

None the less the underlying problem that lead to my initial statements of doom and gloom are still accurate... the Home Server Console is doing some illegal cross threading, something that really should be fixed.

Labels: , ,

Tuesday, December 11, 2007

Proof of concept add-in: Tab Management

Part of the reason I created Tab Scroller was that at times I just have too many tabs to deal with in the Windows Home Server Console and today I came up with another method of dealing with large numbers of them... a Tab Management tab.

What does it do? It is a tab itself, which in turn loads a specified group of add-ins itself instead of having the Home Server Console do so (via renaming of the files) and then displaying the appropriate control when the desired one is selected from the presented list box:

Tab Management Test

The amazing thing about this add-in... is that it doesn't do any crazy hacks the way Tab Reorderer or Tab Scroller do.

Unfortunately this add-in is just a proof of concept test right now and is not something I'm likely to release anytime soon... largely because I can't decide on a good way to display the settings in the Settings dialog (something I am responsible for in order to make the main form work the way it does).

I figure though that this will be a good place to add the functionality of Tab Reorderer and Tab Scroller in once it does see the light of day and users.

Labels: ,

Monday, December 03, 2007

Relaunched: BrendanGrant.com

After owning the name domain for more than four and a half years... at last, there is now actual, useful, honest to goodness content!

And no... there are no links related to the cobuyitaphobia wars (in which I was victorious).

Despite the frequency of Windows Home Server related postings on this blog, it can be far too difficult to navigate through the strange political and social rants, calling attention to the enemies of free speech, porn and strange photo shows.

With that I've now just finished the Brendan's WHS Dev Site which is hosted on BrendanGrant.com and currently simply links back to posts here and organizes things far better than I could have here.

Over time I will endeavor to expand it into a more general WHS Development page, hosting and linking to content elsewhere... so long as other folks get into the Home Server development blogging.

Labels: ,

Friday, November 30, 2007

Updated: Web Folders 4 WHS

Today I am making available the latest build of Web Folders 4 WHS (version 0.6.2) which is largely a cosmetic upgrade from the previous version (version 0.6.0) and includes some new eye candy for more easily identifying folders and whether they are web enabled or not:

WebFolders4WHS 0.6.2

In addition, an updated Instructions document has been created with removal guidance as well as some information on how to manually remove everything configured by the add-in in the unlikely event (something that has not been encountered yet) that the add-in and it's configuration cannot be removed using the suggested method.

The Dreaded Warning

After being greeted with this warning in the previous version:

WebFolders4WHS Warning

some became worried about the stability of my add-in and what it could do to their system.

I want to make clear that as yet I have received no reports of data loss, reduction of system stability or performance, famine, flood or death as a result of the use of this add-in. Despite that, this add-in still relies on a number of unsupported Windows Home Server sub-systems (but supported portions of the Windows Small Business Server which serves as the basis for WHS) and simply exists as a warning of that.

At a later date I will replace the current warning with a less intrusive one.

Upgrading from Previous Version

Any users using the initial release of this add-in are advised to uninstall the previous version, download the new one and install it.

You are NOT required to remove the previous configuration prior to this upgrade.

Without further delay, the files:

Note that Software Update for Web Folders (KB907306) is still required on client machines if not already installed.

Labels: ,

Wednesday, November 28, 2007

New Home Server Add-in: Tab Scroller

Do you use a lot of Home Server add-ins?

Do you have so many Home Server Console tabs that you hand begins to hurt as you click through them all?

Do you wish that the list was scrollable?

Well now it is!

As hinted at yesterday...

Description

Tab Scroller hooks into some of the undocumented bowels of the Home Server Console to allow you to scroll through your tab list (when selected) with your mouse wheel and even removes itself from view moments after being loaded so as to stay out of the way.

Download Here

Intended Audience

Any Windows Home Server user with 7 or more Home Server Console tabs.

Note: This add-in can be installed on machines with less than 7, however on such systems it can cause some visual artifacts (non-functional scrolling buttons, an empty space where this add-in used to be) only so long as the add-in is installed and there are less than 7 tabs.

Installation

1. Download the installer
2. Copy installer to your \\servername\Software\Add-ins\ directory
3. Install through the Home Server Console Settings dialog
4. Re-launch the Home Server Console

Usage

After launching the Home Server Console, use the mouse wheel to scroll up or down through the list.

If nothing happens, click on one of the tabs (so as to give the container holding them focus) and try scrolling again.

Background

This add-in came about yesterday due to the frustration that I expect many add-in developers and users have experienced, of having to manually scroll through a long list to find just the one they are looking for, and despite the tab list in the Settings dialog being scrollable, the one on the main form is not, so I decided to change that.

A while back I wrote an experimental add-in named Form Hacker which used reflection to navigate through the relationships between the Home Server Console forms and the controls they contained, through which I learned enough to be dangerous and pull things off like this and my as yet unblogged about add-in Tab Reorderer.

Final Word

It must be said that this add-in uses numerous bits of undocumented functionality of the Windows Home Server Console and can be rendered non-functional at any time with a future Home Server update.

Labels: ,

Tuesday, November 27, 2007

Windows Home Server Development: Grrr

As much as I love Windows Home Server, I find myself hating it at times when I keep running into issues which prevent me from so fully exploiting it as easily as I would like and wouldn't you know... today was one of those days.

Today I finally had enough of a... tax I have to deal with almost every time I test changes in an add-in (currently Web Folders 4 WHS) and decided to write yet another add-in to solve my problem... only problem was that what I was trying to do isn't exactly supported (surprise surprise)... hence the following boredom and angry inspired relief:

P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P11

Stop back tomorrow for the link to this add-in where the following will be said by various groups:

  • Average WHS User - "Eh? What's the point?"
  • WHS Developers - "How the hell did you do that?"
  • Microsoft - "We need to stop this guy, consider what he's trying to do in V2, or hire him."

Labels: ,

Wednesday, November 21, 2007

Missing Certificate with WebFolders4WHS

Problem:

A user remotely connecting to a Windows Home Server computer configured with WebFolders4WHS may receive the following error:

The folder you entered does not appear to be valid. Please choose another

or a dialog titled "Select the certificate you want to use" that allows the user to select from an empty list the certificate they want to use to secure the connection.

Cause:

This error is caused by when a user connects using a domain name other than their configured yourname.homeserver.com name that the server's certificate is configured for.

Solution:

Connect to the Home Server using the yourname.homeserver.com domain name instead of another one unless a certificate has been generated for that name as well.

Labels: ,

Monday, November 19, 2007

New Home Server Add-in: Web Folders 4 WHS

Edit: Nov 30, 2007: All links in this post now refer to the latest version(s) while an updated screen shot and removal instructions can be found on this new post.

Windows Home Server provides an easy to use remote access mechanism that enables a user to upload and download files to/from ones Windows Home Server when they are not on their local network.

One big problem... it's web browser based and one of the key paradigms users are used to does not exist... file and folder drag and dropping.

My new add-in, WebFolders4WHS gives users a new browser based way to access their files, as well as letting them do it through the Windows Explorer shell and any other WebDav client that supports HTTPS.

What it looks like

This add-in adds a new Home Server Console tab which lets you choose which shares you want to allow access to via Web Folders:

Main view of WebFolders4WHS

A small settings tab is also added which provides basic information on the state of the add-in and allow you to set it up or remove it's configuration.

Settings page of WebFolders4WHS

When you move to the client side, a user can simply create a folder in My Computer (under Vista) or My Network Places (under XP), and in Vista an actual mapped network drive (complete with letter) can be created and used much like a local directory or share.

My Computer in Vista

What you need

In addition to a simple installer as is required for most Windows Home Server add-ins, a Microsoft provided client-side update is required to enable secure access to the server.

These files are available here:

How it works

This add-in is nothing more than a bit of glue that wires up a few Windows sub-systems such as: Windows UNC Shares, an IIS Virtual Directory, WebDav and the Windows Distributed File System. Because this add-in uses existing functionality, all existing user accounts and share permissions are maintained and remain in full effect when a user accesses files via a Web Folder.

Also see: Windows Home Server Forums Discussion

Labels: ,

Tuesday, November 06, 2007

Windows Home Server: Client-Side SDK

As reported elsewhere (MS Windows Home Server and Windows Home Server Blog), there is a new video on Channel 9 (as well as one on on10.net with Charlie Kindel) that is a sit down with Home Server Lead Developer Chris Gray (get back to the blogging man!) where he talks about building add-ins for Windows Home Server.

What hasn't been reported anywhere else is that Chris also mentioned a client-side SDK for Home Server and when I asked about it Home Server General Manager Charlie Kindel chimed in and said in part:

Chris sorta "mis-spoke" and "let the cat out of the bag" when he talked about the client-side SDK stuff.

 

We are working on it.

 

We have not announced when it will be released in pre-release form.

 

We have not announced when it will be released in the product.

Great to hear it's being worked on and so long as it gives the same kind of access to WHS as the functionality in Microsoft.HomeServer.SDK.Interop.v1 does on the server I'll be thrilled.

If they give us a way to first put client-side code on the server and then deploy it to clients automatically... I'll be ecstatic.

Granted the first bit is more likely in a V1 product than the second... a dev still has to hope.

Labels: ,

Wednesday, October 31, 2007

Windows Home Server Developer Tips

I'm pleased to announce the kick off a series of semi-regular Windows Home Server Developer Tips posts aimed at both add-in and standalone application developers that will cover some of the neat and undocumented features of Windows Home Server that programmers can take advantage of, as well use of some of the documented methods that are buried away in the official documentation.

So let's kick things off with the first tip... determining the web site status.

Labels: , ,

Monday, October 29, 2007

Phase Two & Three: Windows Shares & IIS

Despite intending on being more logical in my coding and perfecting one set of API calls before moving on to another... over the weekend it was a fairly chaotic process as I ran back and forth between different pieces to make my ugly form with a dozen text boxes and two dozen different buttons to let me test out every little thing including installing Windows components using an answer file.

After much work it's all done... well mostly.

Early yesterday I began cleaning up the code a bit and moving it in into an actual add-in which works great (despite being ugly as heck) and squashed the last remaining bug in my add-in (that I'm aware of)... now I just need to figure out why IIS no longer wants to serve pages over HTTPS to the directory I created.

Labels: ,

Friday, October 26, 2007

Phase One: DFS

Despite my earlier estimate... I'm now expecting that my new WHS add-in will take significantly longer than first expected... largely because of the fights with the Win32 API.

Currently (first of 3 separate API sets I need to work with) I'm implementing support for the Windows Distributed File System which requires 7 (for my purposes) or so API calls and while all are documented on MSDN, only a handful are on PInvoke.net or blog posts (yes once I'm done I'll share some of what I've come up with)... so I get to spend plenty of time writing my own definitions and plugging away at them, making sure I understand exactly what it is expecting when the MSDN docs are less than clear.

I dunno about you... but I really am no fan of marshalling pointers to arrays of structures.

I'm happy to say though that despite all of this, I've implemented and got working 5 of the 7 API calls I need, think I've identified #6 and have yet to figure out how to accomplish the 7th task.

Labels: ,