<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://thoughtshapes.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>ThoughtShapes - Comments</title>
 <link>http://thoughtshapes.com</link>
 <description>Comments</description>
 <language>en</language>
<item>
 <title>You&#039;re a thinker...very</title>
 <link>http://thoughtshapes.com/node/13#comment-646</link>
 <description>&lt;p&gt;
    You&#039;re a thinker...very nice.&lt;/p&gt;
&lt;p&gt;
    You are right: there is a not-so-subtle, yet abstract, concept here. But I personally think we should not discuss static members in terms of &lt;span style=&quot;font-style: italic&quot;&gt;single, global instance&lt;/span&gt;. Using the word &lt;span style=&quot;font-style: italic&quot;&gt;instance&lt;/span&gt; can mislead some because static members are shared amongst &lt;span style=&quot;text-decoration: underline&quot;&gt;all instances of a type&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;
    I discuss static members vs. non-static members in terms of &lt;span style=&quot;font-weight: bold&quot;&gt;type members&lt;/span&gt; and &lt;span style=&quot;font-weight: bold&quot;&gt;instance members&lt;/span&gt;. This eliminates any ambiguity in that there are members scoped to a type, accessible by referencing the type, and there are members scoped to a type instance, accessible by referencing that instance.&lt;/p&gt;
</description>
 <pubDate>Thu, 31 Jul 2008 07:17:00 -0400</pubDate>
 <dc:creator>Rjae Easton</dc:creator>
 <guid isPermaLink="false">comment 646 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Regarding your</title>
 <link>http://thoughtshapes.com/node/13#comment-645</link>
 <description>&lt;p&gt;Regarding your point:&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;
Static Methods are not Object-Oriented.&lt;br /&gt;
Static methods are very similar in nature to functions in a non-OO language like C. Yes, static methods are contained by a class and therefore different than C functions, but they are not associated with an object instance and are consequently very similar.&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
The way I look at it, in a slightly abstract sense, static methods are indeed associated with an object, but it is a single, global instance. This is the real problem of static methods; They imply a global variable.&lt;/p&gt;
</description>
 <pubDate>Wed, 30 Jul 2008 15:03:06 -0400</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 645 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Hey, thank you SO MUCH for</title>
 <link>http://thoughtshapes.com/node/66#comment-644</link>
 <description>&lt;p&gt;Hey, thank you SO MUCH for posting this detailed information. I was experiencing the exact same problems. I have a Dell Latitude D630 with nVidia Quadro NVS 135m video card and was trying to use the PNY Quadro NVS 280 PCI card in the d/dock. Blue screens of death all over the place. Finally I left my latpop monitor off, hooked up an LCD to the VGA port and installed the drivers that way. Rebooted, and it worked! I then tried hooking it up to DVI like you did, and it still worked. Then I tried using my laptop monitor and 2 external monitors and it continued to work still.&lt;/p&gt;
&lt;p&gt;It looks like as long as I didn&#039;t get a blue screen during the driver installtion, the drivers and graphics card works. Weird. I&#039;m going to do some more testing and if I find anything else out, I&#039;ll let everyone know.&lt;/p&gt;
</description>
 <pubDate>Tue, 22 Jul 2008 15:37:45 -0400</pubDate>
 <dc:creator>Ryan</dc:creator>
 <guid isPermaLink="false">comment 644 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Dell was able to replicate</title>
 <link>http://thoughtshapes.com/node/66#comment-643</link>
 <description>&lt;p&gt;Dell was able to replicate the problem and found that the additional video card will not work on WinXP with 4GB of RAM, however it works fine with 3GB.  They also loaned me an extra harddrive and caddy to test various operating systems (thanks to my MSDN subscription).  Here were my results:&lt;/p&gt;
&lt;p&gt;M90 in docking station with Nvidia Quadro NVS 55/280 PCI:&lt;br /&gt;
•	Windows XP 32 bit: works with 3GB, Insufficient resources with 4GB&lt;br /&gt;
•	Windows XP 64 bit: works with 3GB, Insufficient resources with 4GB&lt;br /&gt;
•	Windows Vista 32 bit: Unknown (haven&#039;t tried this one and needed to return harddrive)&lt;br /&gt;
•	Windows Vista 64 bit: works 2GB, 3GB, and 4GB&lt;/p&gt;
&lt;p&gt;Considering that it works with Vista, I am satisfied that this is not a shortcoming of the Dell M90 or the docking station.  I am very pleased with Dell&#039;s tech response as they have worked with me through this.  Since I have duplicate setups of the docking station and video cards at work an home, I will most likely stay at 3GB and continue to use the PCI card expansion.  The majority of my clients and coworkers are on XP, and I&#039;m not sure of the consequences of running 32bit apps on my Vista 64 machine or devloping new apps for XP32 on a Vista 64.  I was only getting 262KB of that 4th GB of RAM, and I hate to give any of it up, but...Oh, well.  I&#039;m sure I have a coworker who will be happy to add my lost GB to their machine.  If I was stepping into this new and was aware of all of this ahead of time, I&#039;d probably buy the UV Plus+ (UV 16) from EVGA or only purchased 3GB or RAM instead of 4.  I hope someone finds this useful and can avoid uselessly spending money as they push their laptop boundaries.&lt;/p&gt;
&lt;p&gt;Impressive mod, Kevin!  I&#039;m not familiar w/ the specs on the M65, but if you&#039;re already on Vista, I&#039;d check on running a 64bit installation on it.  Otherwise, I hope 3GB works for you.&lt;/p&gt;
</description>
 <pubDate>Tue, 08 Jul 2008 09:18:46 -0400</pubDate>
 <dc:creator>Wiseguy</dc:creator>
 <guid isPermaLink="false">comment 643 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Steve,
“If they screw up a</title>
 <link>http://thoughtshapes.com/node/13#comment-641</link>
 <description>&lt;p&gt;Steve,&lt;br /&gt;
“If they screw up a Math.Add kind of thing, you&#039;re likely to have many more problems on your plate than broken Add functionality”. You are right about this; I do have other major problems having developers implement the main logic of a module poorly or faulty and not mentioning missing requirements :(.&lt;br /&gt;
Before I started doing unit testing, I wrote the company framework and most of the methods are static; of course, it is a Framework! Well, now that we are doing unit testing we are paying the price of not been able to test several failure scenarios. Also, to test the business logic layer (where no data access is required; it should be mocked) we are forced to have a running database, because the auditing framework cannot be mocked. I guess we will fix this at some point.&lt;br /&gt;
Going back to your point, yes, there is a possibility that at some moment the Math.Add method must be mocked to throw an exception or condition a result. So if there is a remote possibility, why tie ourselves with static methods or sealed classes?&lt;br /&gt;
If been able to test code is our priority, we should not handcuff ourselves. I totally agree with you.&lt;br /&gt;
Regards,&lt;br /&gt;
Teo&lt;/p&gt;
</description>
 <pubDate>Thu, 19 Jun 2008 09:07:43 -0400</pubDate>
 <dc:creator>teo</dc:creator>
 <guid isPermaLink="false">comment 641 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>I also have the problem with</title>
 <link>http://thoughtshapes.com/node/66#comment-640</link>
 <description>&lt;p&gt;I also have the problem with 4 GB RAM. A few things in device manager complain of not enough resources. Works fine with 2 GB, have not yet tried 3 GB. Please keep us informed of Dell&#039;s response.&lt;/p&gt;
&lt;p&gt;I used a ATI HD2400 card because it has a current generation chip (Vista, DX10) and supports dual link DVI (required by 30&quot; monitors). The D/Dock required some modification to provide room for the large heat sink. I have posted a few pictures here: &lt;a href=&quot;http://www.notebookforums.com/thread217971.html&quot; title=&quot;http://www.notebookforums.com/thread217971.html&quot;&gt;http://www.notebookforums.com/thread217971.html&lt;/a&gt;&lt;/p&gt;
</description>
 <pubDate>Thu, 19 Jun 2008 08:17:07 -0400</pubDate>
 <dc:creator>Kevin Timmerman</dc:creator>
 <guid isPermaLink="false">comment 640 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Hi Teo,
Glad to hear that</title>
 <link>http://thoughtshapes.com/node/13#comment-639</link>
 <description>&lt;p&gt;Hi Teo,&lt;/p&gt;
&lt;p&gt;Glad to hear that you&#039;re testing.  Isn&#039;t it great?&lt;/p&gt;
&lt;p&gt;I&#039;m halfway with you and halfway against you in regards to the Math.Add method.  Logically speaking you&#039;re correct: why would anyone want to allow the possibility to break the laws of mathematics?  On the other hand, though, it always depends on the situation...and in that statement lies the key to allowing such behavior overriding.  Because I can likely answer &quot;it depends&quot; to just about any question you can fathom, this leads to a corollary: I want to allow my system to adapt to the situations I am not currently thinking of.  I&#039;ll give you an example...&lt;/p&gt;
&lt;p&gt;What if the code I am writing that depends upon Math.Add is supposed to handle an OutOfMemoryException that stems from the Math.Add method?  Let&#039;s say for some reason this is a specific situation in which the user is to be presented with &quot;We&#039;re sorry but the process is currently out of memory.&quot;  A contrived example?  Perhaps, but nevertheless it is possible and serves the purpose of providing me with an argument.  How would I write a test for this situation if I can&#039;t override the Math.Add method?  It would be almost impossible because I&#039;d have to set up the environment to a point where a call to Math.Add causes such a condition...which would be impossible to do across different machines, would lead to a host of unpredictable results, etc.&lt;/p&gt;
&lt;p&gt;Now, balance your thoughts with my inclination to create a flexible, &lt;em&gt;free&lt;/em&gt; system.  I wouldn&#039;t have such a problem because I&#039;d be able to override that Add method and throw an OutOfMemoryException and therefore test to see how the client code of the Add method handles such a situation.  If I had a nickel for each time I thought I was creating code that didn&#039;t have to be overriden only to later find out that it did, I wouldn&#039;t be a rich man but I&#039;d have...say...over $1.50.  :)&lt;/p&gt;
&lt;p&gt;And, what is the risk to allowing such freedom in the system?  Do we really think a developer is going to override an Add method and provide his/her own faulty addition?  I doubt it very much.  I&#039;ve got a lot more to worry about on my plate on a typical project than worrying about such things as this.&lt;/p&gt;
&lt;p&gt;An another note, am I writing a library for others to use?  If so, do I ever think the clients of my Math.Add method are going to need to override it?  If they are, do I care?  They can write their own wrapper that uses my method and still get all their testing done, right?  If so maybe I would do a static Add method.  Again, it all depends.  If I&#039;m writing an application that uses the Add functionality I might want to make it virtual, wrap it with an interface, etc.  If I&#039;m writing a library maybe I would do the static method.  There is never a completely clear cut answer because nothing in life is ever clear cut.&lt;/p&gt;
&lt;p&gt;I&#039;m not saying you&#039;re wrong by any means.  I&#039;m only sharing my thoughts.  I like freedom.  I don&#039;t like logical handcuffs.  I like to do what I want to do when I want to do it.  I like to throw rules out the window and instead think through the things I&#039;m doing.  I&#039;m saying that using virtual leads to the kind of development life that I like.  I think we&#039;re both on the same exact page and that I&#039;m being nitpicky with you, but my nitpickiness is only to prove a point:  Let people be free to do what they want.  If they screw up a Math.Add kind of thing, you&#039;re likely to have many more problems on your plate than broken Add functionality.&lt;/p&gt;
</description>
 <pubDate>Wed, 18 Jun 2008 15:14:53 -0400</pubDate>
 <dc:creator>Steve Seymour</dc:creator>
 <guid isPermaLink="false">comment 639 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Steve,
After more than a</title>
 <link>http://thoughtshapes.com/node/13#comment-638</link>
 <description>&lt;p&gt;Steve,&lt;br /&gt;
After more than a year doing unit testing, I do agree 100% with “The tests drive the code”.&lt;br /&gt;
I also agree with your point about private methods. The unit tests are based on expectations and not the concrete implementation of the method been tested. A private method can be created to make the code more readable or for code reuse purposes.&lt;br /&gt;
Going back to static methods, since “The tests drive the code”, I would use static methods if I want to prevent a developer from mocking the behavior of a method. Let’s say Math.Add(int a, int b). Under no circumstance I’d want a developer mocking this method to say that 2+3 (a and b) should return 10.&lt;br /&gt;
Depending on the mocking framework, instead of using a static method, a non-virtual method would work. In my case, I am using RhinoMocks and by making a method non-virtual, I prevent it from been mocked.&lt;/p&gt;
</description>
 <pubDate>Wed, 18 Jun 2008 11:42:45 -0400</pubDate>
 <dc:creator>Teo</dc:creator>
 <guid isPermaLink="false">comment 638 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Here&#039;s the current status on</title>
 <link>http://thoughtshapes.com/node/66#comment-637</link>
 <description>&lt;p&gt;Here&#039;s the current status on my issue w/ losing my docking station PCI card when upgrading from 2GB to 4GB.&lt;/p&gt;
&lt;p&gt;  After following several different suggestions, I shipped my Video card and driver disk to Dell for them to test with.  They are still working the issue.  I have to say, they have been very good at keeping in touch via email and responding in no less than 2 days at the latest.&lt;/p&gt;
&lt;p&gt;  On another note, I have been successful in adding a 3rd monitor using a USB 2.0 VGA Display Port from EVGA.  Using their UV Plus+ (UV 16 model), I am able to add a DVI connection w/ 1680 x 1200 resolution which works well with my 20&quot; Widescreen LCD with 2GB and 4GB configurations on WinXP SP2. I haven&#039;t noticed any degradation in Video performance, but this is not a gaming machine, so your experience may be less satisfying than mine.  At just under a hundred dollars, this may be a good alternative for those who do not wish to purchase a docking station and video card.&lt;/p&gt;
&lt;p&gt;  I&#039;ll continue to keep you informed on Dell&#039;s response.&lt;/p&gt;
</description>
 <pubDate>Mon, 16 Jun 2008 15:42:58 -0400</pubDate>
 <dc:creator>Wiseguy</dc:creator>
 <guid isPermaLink="false">comment 637 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Thanks, Wiseguy...I (we)</title>
 <link>http://thoughtshapes.com/node/66#comment-636</link>
 <description>&lt;p&gt;Thanks, Wiseguy...I (we) really appreciate it.  Anything you can update us with can help others avoid a totally annoying and painful situation in the future.&lt;/p&gt;
&lt;p&gt;Strange, too, what you&#039;re experiencing.  I&#039;m never surprised with such things, though.  Never.&lt;/p&gt;
</description>
 <pubDate>Wed, 28 May 2008 16:09:29 -0400</pubDate>
 <dc:creator>Steve Seymour</dc:creator>
 <guid isPermaLink="false">comment 636 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>I thought I&#039;d keep you</title>
 <link>http://thoughtshapes.com/node/66#comment-635</link>
 <description>&lt;p&gt;I thought I&#039;d keep you informed of my progress:&lt;br /&gt;
  I failed to mention in my original message  that I had the (A07) BIOS set to OnBoard Video, which worked fine w/ 2GB memory for pushing 3 external monitors (2 17s + 1 20 wide) in addition to the laptop display.&lt;/p&gt;
&lt;p&gt;Dell opened a case and sent me a two 2GB replacement sticks to verify that I didn&#039;t have bad memory.  Unfortunately, it wasn&#039;t that simple.  The 2 new memory sticks results were the same message for the Docking Station Video Card.&lt;/p&gt;
&lt;p&gt;&quot;The device cannot find enough resources that it can use (Code 12).  If you want to use this device, you will need to disable one of the other devices on this system.&lt;/p&gt;
&lt;p&gt;I&#039;m returning the replacement memory back to Dell and await word for next attempts.  I&#039;ll post any new findings as they occur.&lt;/p&gt;
</description>
 <pubDate>Wed, 28 May 2008 13:49:44 -0400</pubDate>
 <dc:creator>Wiseguy</dc:creator>
 <guid isPermaLink="false">comment 635 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Thanks for the reply Steve.</title>
 <link>http://thoughtshapes.com/node/66#comment-634</link>
 <description>&lt;p&gt;Thanks for the reply Steve. I&#039;ve now logged a call with Dell support on the off chance that they&#039;ll come up with a solution too.&lt;/p&gt;
&lt;p&gt;Reading through the Dell forums yesterday it seems there is an alternative card that works in the D Dock, an ATI one. I guess this might have been a better choice as there is less chance of a driver conflict.&lt;/p&gt;
&lt;p&gt;I&#039;ve confirmed the file that was causing my blue screens was nvlddmkm.sys, so it&#039;s definitely the driver. A quick Google on that file name has brought up a lot of hits, so I&#039;m going to start going through those.&lt;/p&gt;
&lt;p&gt;Nick&lt;/p&gt;
</description>
 <pubDate>Wed, 28 May 2008 05:27:09 -0400</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">comment 634 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Damn, Nick, I&#039;m sorry to</title>
 <link>http://thoughtshapes.com/node/66#comment-633</link>
 <description>&lt;p&gt;Damn, Nick, I&#039;m sorry to hear you&#039;re having problems with Vista.  I did buy the extra Vista hard drive as I mentioned I would above, and though I&#039;ve installed Vista on it I haven&#039;t made time to install all my software on it--and so it is going unused at the moment.  Consequently, I haven&#039;t yet run it off the D-Dock, so I&#039;m not sure if it will work for me or not.  Your post is depressing for me in that regard, but when I do give it a shot I&#039;ll let you know here.&lt;/p&gt;
&lt;p&gt;I assume you&#039;ve installed all the latest drivers and BIOS, right?&lt;/p&gt;
&lt;p&gt;This really drives me nuts.  Why all the problems with multiple monitors in the year 2008???&lt;/p&gt;
&lt;p&gt;Good luck, Nick, and if you get it straightened out please let us know how.&lt;/p&gt;
</description>
 <pubDate>Tue, 27 May 2008 09:31:01 -0400</pubDate>
 <dc:creator>Steve Seymour</dc:creator>
 <guid isPermaLink="false">comment 633 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Great write up,</title>
 <link>http://thoughtshapes.com/node/66#comment-632</link>
 <description>&lt;p&gt;Great write up, unfortunately so far my experience hasn&#039;t been successful...  I ahve the Precision M4300 with the Quadro FX 360M and to add more video I&#039;ve added a Quadro NVS 280 to the D Dock. &lt;/p&gt;
&lt;p&gt;Unfortunately after a few hours messing around, I&#039;ve failed to get it working. On first boot I got nothing so I changed the video card priority in the BIOS to be laptop video first. This let me boot into Windows and Vista started installing the drivers for the new PCI video card. This is where the problems started. Shortly after the drivers were being installed the system blue screened with the following error: &lt;/p&gt;
&lt;p&gt;IRQL_NOT_LESS_OR_EQUAL&lt;/p&gt;
&lt;p&gt;The two files mentioned looked to be the ones that had just been installed.  Using the system restore I got the system working again, but trying the whole process again gave the same result.  I changed the onboard video to use VGA instead of DIV and the two monitors on the NVS 280 fired into life and Vista booted. However, the monitor attached directly to the D Dock didn&#039;t intialise. Looking at Device Manager I can see that Vista has stopped the onboard video due to a problem.  I tried to remove the device to allow it to re-install but this brought the same BSOD as above.&lt;/p&gt;
&lt;p&gt;I&#039;ve posted on the Dell forums with the hope that there may be an answer. I&#039;m sure it&#039;s driver related and I might try XP if I get round to getting a spare HDD.&lt;/p&gt;
&lt;p&gt;Nick&lt;/p&gt;
</description>
 <pubDate>Tue, 27 May 2008 08:13:43 -0400</pubDate>
 <dc:creator>Nick</dc:creator>
 <guid isPermaLink="false">comment 632 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Great write up!  I also have</title>
 <link>http://thoughtshapes.com/node/66#comment-631</link>
 <description>&lt;p&gt;Great write up!  I also have a M90 with an internal NVIDIA Quadro FX 2500M, a docking station w/ a NVIDIA Quadro NVS 55/280 PCI running a total of 3 external monitors in addition to my laptop display.  However, when attempting to upgrade from 2GB of memory to 4GB, I lose my external docking station PCI card due to insufficient resources.  Ironically, by adding memory, I lose resources...&lt;/p&gt;
&lt;p&gt;The extra memory does show up as 3.4 GB (the 32 bit chipset impact on total memory in this &quot;supposedly 64 bit&quot; machine has been fully discussed in other forums).&lt;/p&gt;
&lt;p&gt;I can definitely use the extra memory for my Virtual machines, but do not want to sacrifice my displays.  Can anyone verify that they are running an M90 w and additional video card w/ 4GB of memory?  If so, please post which video card you added to your system.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;
Wiseguy&lt;/p&gt;
</description>
 <pubDate>Tue, 20 May 2008 11:44:53 -0400</pubDate>
 <dc:creator>Wiseguy</dc:creator>
 <guid isPermaLink="false">comment 631 at http://thoughtshapes.com</guid>
</item>
</channel>
</rss>
