Skip Navigation Links
Search site. 
Powered by Google
Darren Neimke (Me)

My Book

Readify

">ASP.NET MVP


Interesting Portals 

NetVibes
This portal feels similar to PageFlakes in many ways but I love their gallery. They also have a feature whre certain chrome elements only become visible when you hover over the web part.

Xtra
A New Zealand news portal. I especially liked the content rotator web part at the top of the middle row. Seems like a nice way to allow a user to browse through data.

 

Posts Archive 

Posts for: Oct 2005

InfoPath and VS2005

Yesterday I had to start work on a new InfoPath application for a client and my first step was to write a test project to see that InfoPath is playing nicely with VS2005.  For the current work that I'm doing, everything has been done using VS2005 and TFS so going back to VS2003 for anything would be disruptive - especially to our reporting!

I searched and immediately came across this article by the InfoPath blogging team which discusses the VS2005 update for the InfoPath Visual Studio toolkit:

    http://blogs.msdn.com/infopath/archive/2005/08/12/450933.aspx

After downloading this .iso from the download location mentioned in that article I raced off to grab Daemon Tools so that I could mount and install the toolkit:

    http://www.afterdawn.com/software/cdr_software/cdr_tools/daemon_tools.cfm

Finally, after a painless install, a quick, managed, "Hello World" application was all that was needed to see that things were in order.

    InfoPath Lab on MSDN

Thats all!

posted on 11/1/2005 1:33:00 AM ( 0 Comments )


How the world will end

We know that we're basically screwed but what we don't know is exactly how it will happen.  Will it be a giant meteorite?  A massive volcano?  Sun explodes?  Or World War 3?

This very humorous Flash movie attempts to solve the puzzle:

    http://www.ebaumsworld.com/flash/endofworld.html

posted on 10/30/2005 4:29:50 AM ( 1 Comments )


Blogs using SUB

I've started a list of links on the right-hand-side of this blog titled: "Blogs using SUB".  I'll keep this updated as I find more people that are using SingleUserBlog.

posted on 10/30/2005 4:20:22 AM ( 0 Comments )


ASP.NET 2.0 Transformers

Transformers are controls in the ASP.NET V2 portal framework that allow you to connect web parts that expose incompatable endpoints.

The ASP.NET V2 control-set exposes two standard transformers - RowToFieldTransformer and RowToParametersTransformer.

These baked-in transformers allow your web part connections to work automatically for parts that are dealing with IWebPartRow on the provider side and either IWebPartField, or IWebPartParameters on the consumer side.

It therefore makes quite a bit of sense to use these interfaces when writing your own web part controls for added extensibility.  For example, if you are exposing your connection endpoints based on a custom interface then what are the chances that a third-party web part vendor would implement that interface?  None right?  But the chances that they would be implementing one of the standard interfaces are quite high.  So, by deduction, if you are not using those standard interfaces then your parts will probably never be able to work with third-party web parts.

Transformers expose a piece of custom user interface that allow you to manage the property mapping between the connection provider and the connection consumer.  As an example, you may have an AddressWebPart that exposes a row of data with the following column definitions:

{Street1, Street2, City, State, Postcode, Country}

And a WeatherWebPart that consumes the following data:

{Country, Region}

In this case your AddressWebPart would expose data based on IWebPartRow and the WeatherWebPart would consumer data based on IWebPartParameters (because it is more than one field). 

Because of these endpoints, the ASP.NET framework "just knows" that they can be connected using the RowToParametersTransformer to assist with the configuration mapping.  When you are configuring the transformer, you would use the custom user interface provided by it to map the columns from AddressWebPart to the correct parameters on the WeatherWebPart:

{Country -> Country}
{State -> Region}

posted on 10/30/2005 1:16:44 AM ( 0 Comments )


If a tree falls on a mime, does it make a sound?

My workmates did it so I thought that I would too...

posted on 10/28/2005 1:45:22 PM ( 1 Comments )


IE7 thoughts

I've been playing with IE7 for a month or so now and, for the most part it's been pretty good.  I wouldn't call it the most revolutionary product release but it certainly seems better.  These are some thoughts about things that might improve it:

  • Bring back the Refresh and Stop buttons
  • Warn me if I'm closing the browser and I have more than 1 tab open
  • Allow me to save all open tabs - just in case I need to re-boot or something

posted on 10/28/2005 12:21:26 AM ( 1 Comments )


Focus! You're showing me your password.

One of the things that has always annoyed me is applications that force themselves into being focussed.  You see it a lot with windows applications that seem to resurrect themselves from the Windows Taskbar magically and you also see it in certain web applications. 

This is especially a problem when you think that the cursor is in a password field and the focus is automatically switched to another field or application; thus allowing you to enter your password for the whole office to see.  Some of the passport enabled sites suffer from this - sites such as Hotmail that have a heavy Css file and a few images to load before they run their SetFocus() function.

The following form demonstrates the problem - to simulate it yourself, point the image at a large bitmap or implement your an HttpHandler that sleeps for a while to simulate a slow loading page.  Just load the page and start using the web form by entering your username and then tabbing and entering your password:

<html><body onload="Focus();">

<script language="javascript">
    function Focus() { document.getElementById("uname").focus() ; }
</script>

<form id="frm">
    <input name="uname" type="text" /><br />
    <input name="pwd" type="password" />
</form>

<img src=" http://localhost:60165/Stuff/SlowLoad.ashx " />

</body></html>

the HttpHandler code:

public class SlowLoad : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        System.Threading.Thread.Sleep(5000);
    }
 
    public bool IsReusable {
        get { return false; }
   }
}

Here's my proposed solution... if you have a form with a password field on it, make your focussing logic just a little smarter.  Start the form with the password field disabled by default and then, in your kick-ass focussing code, re-enable it after you set the focus:

<html><body onload="Focus();">

<script language="javascript">

    function Focus() {
       document.getElementById("uname").focus() ;
       document.getElementById("pwd").disabled = "" ;
    }

</script>

<form id="frm">
    <input name="uname" type="text" /><br />
    <input name="pwd" type="password" disabled="disabled" />
</form>

<img src=" http://localhost:60165/WebParts/BigImage.ashx " />

</body></html>

That's all!

posted on 10/25/2005 12:45:16 PM ( 1 Comments )


Abseiling into the abyss

I finished writing Chapter 2 (of 10) this week and must say that, so far, the whole book writing experience has been very interesting. 

During the week I was in Melbourne and took the opportunity to have an afternoon drink with a good friend.  This friend recently committed themselves to pursuing a dream; something that meant jumping into an abyss and trusting that your inner-self will save you from smashing face-first into floor of the pit.

Many of the stories that he told me about his march to committment meant a lot to me as I had to stave off the same doubts and fears of failure before committing to writing the book.

It was an wonderful discussion.

 

posted on 10/21/2005 1:48:03 PM ( 0 Comments )


Working with "the security guy"

So I've been working with Rocky lately... nice guy.  But, yeh, he's a security guy.

Today I started walking off to lunch and forgot to lock my PC; when I looked back he had Notepad open and was writing me a note.  It read:

what if I was a bad guy??!!

Thanks mate!

posted on 10/21/2005 6:19:57 AM ( 1 Comments )


Some interesting insights into the Adventure Works business

Over the past couple of days I've been doing some analysis of the Adventure Works database that ships with SQL Server 2005 for a book that I'm writing and it has turned up some interesting facts.  I thought that I'd share a few of them here:

Total Employees:
290

Hires by year:
2003:  3
2002:  4
2001:  21
2000:  45
1999:  198
1998:  16
1997:  2
1996:  1

Employees by department:
Production:  179
Sales:  18
Purchasing:  12
Information Services:  10
Finance:  10
Marketing:  9
Facilities and Maintenance:  7
Quality Assurance:  6
Engineering:  6
Production Control:  6
Shipping and Receiving:  6
Human Resources:  6
Document Control:  5
Research and Development:  4
Tool Design:  4
Executive:  2

Sales by Fiscal Year:
2004:  $ 60,767,644.18
2003:  $ 39,444,013.32
2002   $ 27,074,681.97
2005   $        50,840.63

Purchases by Fiscal Year:
2004  $ 42,374,724.46
2005  $ 13,226,191.62
2003  $  3,542,412.98
2002  $  2,380,431.02
2001  $     103,895.82

Sales by Product Category (All Time):
Accessories:  41194 Units,  $ 889,301.36
Bikes:  40031 Units,  $ 66,947,515.15
Clothing:  21394 Units,  $ 925,550.76
Components:  18698 Units,  $ 8,112,992.06

 

posted on 10/15/2005 10:04:59 AM ( 2 Comments )


Read this you must.

A blog entry about a language named Yoda is possibly the best blog post that I've read this year:

    http://blogs.msdn.com/mattwar/archive/2005/10/09/479008.aspx

posted on 10/11/2005 12:34:56 PM ( 0 Comments )


Bang!

Comet Impact

In his 2003 book titled "A Short History of Nearly Everything", Bill Bryson describes the moments preceding, during, and immediately after a decent sized asteroid (or planetoid, depending on your use of vernacular) or comet enters Earth's atmosphere:

One second after entering the atmosphere, the meteorite would slam into the Earth's surface where the people of Manson had a moment before going about their business.  The metiorite itself would vaporize instantly, but the blast would blow out 1,000 cubic kilometers of rock, earth and superheated gases.  Every living thing within 250 kilometers that hadn't been killed by the heat of the entry would now be killed by the blast.  Radiating outwards at almost the speed of light would be the initial shock wave, sweeping everything before it.

For those outside the zone of immediate devastation, the first inkling of catastrophe would be a flash of blinding light - the brightest ever seen by human eyes - followed an instant to a minute or two later by an apocalyptic sight of unimaginable grandeur: a rolling wall of darkness reaching high into the heavens, filling one entire field of view and travelling at thousands of kilometres an hour.  Its approach would be eerily silent since it would be moving far beyond the speed of sound.

A Short History of Nearly Everything (Paperback)

So, the initial impact would be quite exciting.  The following hours and days are even more sensational as he goes on to explain:

Within an hour, a cloud of blackness would cover the Earth and burning rock and other debris would be pelting down everywhere, setting much of the planet ablaze.

Finally, if you think that you'll hear about this first on your favourite blog, then think again:

And in all liklihood, remember, this would come without warning, out of a clear sky.

posted on 10/5/2005 1:36:04 PM ( 0 Comments )


New version of FreeTextBox

I cut over to the latest version of FreeTextBox on SingleUserBlog today because I noticed that it wasn't working in IE7.  This was fixed in FTP version 3.0.6.

The good news is that, because of the change I'm now no longer dependant on the scripts folder for FTB as all of the resources - scripts and images - are now served via an HttpHandler.  This means that SUB is truly an x-copy deploy story again!


Update: I originally used version 1.1.0 of FTB but have since moved back to 1.0.6 because I couldn't get the latest version working properly; for some reason, when I used v1.1.0, the .Text property of the ftb instance didn't contain a value on PostBack.  This meant that I could never get at any of the text that I'd entered into the textbox.  V1.0.6 still has all of the cool stuff working that I mentioned initially in my post.

posted on 10/4/2005 11:20:37 PM ( 0 Comments )


MVP Conference takeaways

I just returned from the MVP Summit yesterday and, whilst it was generally fairly low-key in comparison to other trips that I've had to the "big-house", it was none less enlightening. The key things that I learnt this time around were that, if you've been avoiding learning WPF, WCF and Vista then now is the time to pull your head out from underneath the covers.

Mitch finally got me to start looking at these technologies and I can easily see why he's genuinely excited about them. Vista promises a user-experience that is second to none while it seems that WPF is probably going to be the first really significant shift in the Windows UI in 15 or so years.

I'm planning to keep my eyes open for the next Vista drops and also the initial release of Sparkle so that I can finally start to build some XAML-backed WPF applications.

posted on 10/4/2005 2:14:05 PM ( 1 Comments )


The golden rule of development

I think that it's true that developers are a frustrating bunch. Give us a problem and it will generally get solved in an order of preference that suits a given individual - as opposed to solving the problems that make sense in an overall sense. With the tools and platforms that we have today you can generally guarantee non-failure by processing the potential "showstoppers" right up front - instead of tackling them the week prior to delivery. Here's my new rules for successfull development: First, find the things that will break you; Second, break them.

posted on 10/4/2005 2:06:53 PM ( 0 Comments )