doug's profileExercises in HumanityPhotosBlogListsMore Tools Help

Blog


    Talking about John Paul Cook : Using Wireless with Hyper-V

    This looks promising for my dev setup.  Tried the ICS (Internet Sharing to no avail).  I was getting ready to install a proxy server (the ForeFront Threat Management Gateway), but this looks like it might be an easier configuration to maintain (when at a client location).  Once I get Hyper-V networking with the outside, I might double back and explore TMG too.
     

    Brentwood Forest Pool Party - Photosynth

    This is my first attempt at creating a Photosynth.  I learned a few things.  You need to create more photos from different angles.  Also varying the zoom creates interesting slideshows.  My camera is doing a pretty good job in terms of capturing at a good resolution.  I was surprised how close you can zoom in.  It's no DSLR, but for a point and shoot it did a decent job.

    Since I don't have very may pics, you'll probably want to switch to the grid view.  Try the zoom.  I'm surprised how close you can zoom given how far back I was.  You'll be able to pick your friends out of the crowd.  I guess that is the advantage of the 10 megapixel sensor.

    image

    What's Up with These Corporations Today?

    You know how everyone says kids these days are self-entitled and narcissistic? I think coffee and sandwich shops are beginning to think like those kids. Many are limiting their WIFI to one hour, the reason being so they can cram more people into their limited space. The net effect is the ambiance is lost along with the whole point of going there in the first place (the shared experience). It seems that these places are beginning to actually think a latte is actually worth $6 (or that a lunch meat sandwich is worth $10). What's up with these self-entitled corporations these days?

    Is Microsoft Positioned to be Successful in the Near Term?

    I can remember a while back seeing some very interesting "word processor" offerings from Google and Adobe that were very visually appealing, but they didn't hit my radar, admittedly because I've always thought of Microsoft as the category killer for productivity software.  Up until now, I've not really allowed myself to consider these other product offerings.  I guess that is what is termed "brand loyalty". 
     
    So now why all of the sudden have I taken an interest in some of these competing products?  Well I think the answer is, they are starting to become compelling for the first time.  I've never really been a fan of Writely (Google's word processor), but when they filled out the suite with a spreadsheet and a presentation application, all of the sudden it becomes interesting.  I think it becomes particularly interesting for small start-ups who would normally have to shell out a couple of thousand bucks for the "office essentials". 
     
    I also believe that Apple has set some new standards and expectations as to how software is supposed to look.  While they've never been able to capture a market with their productivity offerings, some of their other applications have really taken hold (mainly thinking of the iPhone user experience).
     
    When I first looked at Adobe's BuzzWord, I wasn't that impressed.  But recently I took the time to use it for real world applications.  I'm starting to like it.  If they'd fill out their suite of productivity tools, I think we might have a new category killer.
     
    While I realize that most corporations will not consider online applications due to the fear of leaks of their proprietary intellectual property, there are perhaps a large number of companies that don't have those reservations, especially considering the inherent benefits of the online model.  True (real time) collaboration is quite possibly the feature that will propel these tools to the forefront.   I've never really been a fan of Microsoft's sequential (work-flow) collaboration.  While it's important in a lot of scenarios, I don't consider that "collaboration", but rather workflow. 

    Talking about Blacklight - Home

    These are some of the best open source controls for Silverlight.  I particularly like the animated layout panel.

    Seagate FreeAgent Pro eSATA Connectivity Issues – Lessons Learned

    We’ve all been suckered into buying form over function throughout our lives.  Once again it’s happened to me.  I saw the Seagate FreeAgent Pro with all of its purported features and its sexy enclosure and I decided I should have one.  I wanted a big drive with eSATA connectivity because I’m always moving my 30-60GB SharePoint virtual machines all over the place.  Watching Vista copy files is a real drag, so shaving off 20 minutes here and there would be of tremendous value. 

    Immediately after receiving the drive from NewEgg, I hooked it up.  Plugging it in yielded no response from my Vista box.  I guess I expected it to work much like an external USB drive.  I know that from the computer’s perspective it doesn’t know the eSATA drive from an internal one, so I didn’t expect it to show up in the “Safely Remove Hardware” list, but I figured it would at least be recognized.  Unfortunately from a technology perspective, eSATA has not yet matured.  To get the drive to be recognized, I had to boot with the drive on.  This is not very handy, but at least it works.  You have to be care not to lose data too.  You can’t just unplug it after copying files as most frequently the operating system will still have part of the files your were writing stuck in a buffer and not yet committed to the disk.  In contrast to the USB and Firewire external busses, there is no way to tell the OS to go ahead and finish up that task so you can unplug it.  The OS will do it at its own lazy schedule.  So don’t count on it working right. You’ll have to power down the box in order to remove the drive safely.  While I was able to use device manager to disable the device and coerce the system to flush its cache, at least on one occasion my entire computer locked-up tight.  Clearly this isn’t how it’s supposed to work.  The “eject” feature known to Mac users is simply missing in Windows.  UPDATE: Server 2008 R2 fixes the eject problem as long as you install with the AHCI option configured in your BIOS.  You'll get the option to eject all SATA drives regardless of whether or not they are external.

    To work best, eSATA requires a technology called “hot plugging”.  As it turns out, Microsoft doesn’t think eSATA is ready yet (even though most high-end motherboards and southbridge chipsets have supported it for years).  They don’t load the driver by default.  Curiously in Vista and Windows 7, as it turns out, the driver is installed, just not loaded.  Maybe Microsoft is hoping that by dragging their feet on eSATA, USB 3.0 will become more entrenched when it becomes available.

    To enable hot plugging you have to turn it on in your computer’s BIOS.  There are typically three settings: Emulate IDE (or simply IDE), AHCI, and RAID.  Most computer’s default to emulate IDE even with SATA drives installed.  I’m not certain why, but my guess is that Windows support wasn’t ready yet when SATA drives were becoming more prevalent.  Both AHCI and RAID are modern enough to support the hot plugging feature of SATA drives.  AHCI is an acronym for Advanced Host Controller Interface.   You would select AHCI unless you plan to use the redundancy or striping features of RAID (RAID can improve performance, reliability, or both by using drive redundancy).  For most applications, AHCI is the correct choice.  One caveat, if you enable the feature in the BIOS after installing Windows, you’ll encounter the infamous BSOD (blue screen of death).  That’s because as I said earlier, the right drivers won’t load and Windows is too obstinate to just recover from the mishap and load the more appropriate drivers.  Read on to learn the trick to remedy this problem  

    My initial experience with the drive was horrible.  I’ve learned a few “tricks” to get the best performance and overall experience in Vista.  Don’t expect an “advanced” section in the manual to tell you what you need to know.  You can toss that little booklet into the trash.  For those inclined to get eSATA going on their machines, the online forums are their source for knowledge.  While there are a lot of people out there giving the wrong advice, there are at least a few who know the real deal.  Some of the wrong things you’ll be told: “You have to reinstall the OS”, “You need to repair the OS installation”, “You need to buy another eSATA card”, “eSATA is not supported in Vista”.  Shockingly some of those suggestions came from Seagate’s own technical support.

    I stumbled across the answer after hours of frustration and disbelief.  “Surely the eggheads at Microsoft wouldn’t be this stupid”, I thought as I searched the TechNet knowledge base.  I finally found a partial answer in this article: http://support.microsoft.com/kb/922976.   I performed the reg hack described in that article and also enabled AHCI in my BIOS.  After booting I plugged in the drive and magically the drivers loaded and the drive was recognized.   The system still doesn’t know this drive is “removable” so I still have to figure out a way to safely remove the drive.  It does appear now that when I use the soft switch on the drive enclosure that it *might* be flushing the cache first.  I presume the AHCI protocols support the drive alerting the OS that is is about to be ejected.  If this is not the case, then I need to figure out a way to set the “removal policy” of the drive to support safe removal.  Hopefully I will find a third-party tool to allow this.

    In terms of performance, I had been using the new Firewire 800 (1394b) on my Macbook Pro, so I knew that even doubling the bandwidth of USB 2.0 would be a significant improvement.  Still my expectations for eSATA were far better.  Here is the general breakdown on theoretical performance based on the specifications of each bus:

    Bus type Max. Performance
    USB 1.1 12 Mbits/sec
    USB 2.0 480 Mbits/sec
    1394a 400 Mbits/sec
    1394b 800 Mbits/sec
    UltraATA 100 Mbytes/sec
    SATA 1.5 GBits/sec
    SATA 2 (or SATA 300) 3.0 GBits/sec
    eSATA 1.5 or 3.0 Gbits/sec

     

    To get a general vibe for performance, I copied the Windows 7 ISO (3,387,011,072 bytes) onto my Western Digital 10,000 RPM Velociraptor, which should yield a transfer time close to the read time of the Seagate since it is the bottleneck device.  It took exactly 1 minutes and 7 seconds.  My initial assessment is that the drive is getting nowhere near the 3.0 GBits/sec that it should.  It seems that it is getting 50MB/sec which is closer to the 1394a (Firewire) specification.  What a disappointment after all of that effort.

    Later I’m going to try some real benchmarks and see if there is a way to safely remove the device.  I also have some other drives to try.  I want to test them using all of the various interfaces (USB 2.0, 1394a, 1394b, eSATA, mounted internally to see if wire length has anything to do with it). 

    So far no joy :(

    Solving Storage problems on the MacBook Pro

    Anybody doing MOSS and Sharepoint development on a laptop has probably filled their hard drives and spilled over to external storage.  I'll bet you've tried to run virtual machines from external storage and maybe you didn't even mind the steep performance penalty.  While one of my best virtues is my patience, I must admit I've grown tired of waiting for my MOSS virtual server to respond.  I've decided to upgrade!

    On the Mac, there are a lot of considerations.  In the past on my Windows laptops I've just bought a new and improved hard drive to replace the internal one, and also purchased a new external enclosure to house the original drive.  This was my first inclination until I discovered that you have to disassemble the case to get to the hard drive on the MacBook Pros.  Apple charges several hundred dollars to perform the delicate surgery and they want to keep your old drive on top of their exorbitant fees.  I've read that doing this by yourself voids your warranty.  That's pretty lame.  I'm pretty sure I'm a more qualified technician than any of their noobs.

    FireWire 800/400, eSATA, USB External Hard Drive with Oxford 924 Chipset - Side ViewAnother solution is to improve the performance of the external drive.  My USB drive is just barely not keeping up, so maybe a FireWire 800 (1394b) drive would suit my needs.  Ideally I'd like to have an enclosure that works with a 2.5" drive so that I can swap the drives when my notebook warranty expires.  After a lot of research I discovered that there aren't many manufacturers of drives or enclosures for this interface.  Here is one I found --Oyen Digital- 2.5-inch eSATA, FireWire 800-400, USB External Enclosure.  While pricey at $80, it is a nice piece of gear.  FireWire 800/400, eSATA, USB External Hard Drive with Oxford 924 Chipset - End ViewYou have 5 options for connecting this drive to your computer.  While on the road you can connect it to your MacBook Pro using a single FireWire 800 cable (it's bus powered) and get twice the speed of the USB 2.0 interface.  When you are copying large files, you can even plug in a eSATA ExpressCard into your computer and connect the drive with the eSATA cable and included power adapter and get a whopping 1.5 Gbits/s (150 MB/sec).  When using the eSATA or USB connectivity options you can use a special USB cable that pulls power from two USB ports for convenience on the road.  Having the USB connectivity is also very handy since almost everyone has a USB port.  I would think you'd be able to find something like it for like $30 but I guess until there are other distributors that price is fair.  They must be selling them like mad because they are almost always out of stock.  This kit is high on my wish-list.

    Another piece of kit high on my wish-list is the LaCie Little Big Disk Quadra.  It has most of the same features of Oyen Digital offering plus it has a few unique features.  First off, it matches the MacBook Pro perfectly (hey aesthetics matter).  Secondly, it contains two drives and offers built-in RAID 0.  I'll bet it flies when connected to the optional SATA II ExpressCard.  I imagine the FireWire 800 also provides decent performance.  Thirdly, since it offers RAID 0, you can get a total of 1TB of storage (currently the largest available 2.5" drives are 500MB each).  If I get this drive I might retire my Seagate Free Agent Pro (750GB), although I do appreciate the eSATA connectivity on that drive too.  Too bad Seagate doesn't have an offering with the quad interface.

    LaCie Little Big Disk QuadraLaCie Little Big Disk QuadraLaCie Little Big Disk QuadraLaCie SATA II ExpressCard 34

    I'll probably wait a while to pull the trigger on the LaCie.  The best high capacity drives available as of now are only 5400 RPM.  I think Seagate is supposed to have the 500GB 7200 RPM drives with their perpendicular recording technology available soon.

    Whichever path I take, I'll update with performance characteristics using the various connectivity options.

    Regarding MossGoneWild.com Request for Topics

    Todd Kita and Justin Jackson have a site dedicated to SharePoint (presumably the more wild side of it) called MossGoneWild.com.  Right now it predominately hosts their podcasts. 

    I like the idea of the podcasts and there is great potential here.  In response to the request for topics, I was hoping for more divergent ideas with regard to applications of SharePoint technology to business solutions, as I'd like to see you live up to the "gone wild" aspect of the name.  I also enjoyed the first couple of episodes more than the most recent, as I prefer to *read* about the patches (in the span of a few minutes instead of an hour). The first episodes were far more "wild" (no disrespect to your guest--I'm sure there's an audience out there for that as well).  These shows make for a great way to keep up during the commute, but I'd highly recommend using a volume normalizer so-as to bump up the production quality a bit and keep my hand off the volume controls. Also, I think the high level conversations are more interesting than the "nitty gritty" unless you plan to do videos at some point.  I think the audio format is great to bring awareness to new ideas and concepts, but too much detail is distracting.  Also, the search feature couldn't help me in my quest to find the show notes. 

    Here are some specific ideas for topics: 

    1. What are the recommended strategies for managing users and groups (self managed, Active Directory, integration with HRIS or other system using the BDC) and keeping properties synced? 
    2. How should a developer respond when a customer, who is accustom to driving requirements for web apps, asks for features that are normally trivial, but in SharePoint are not really practical.  I find myself in the situation frequently where the customer thinks they want to use a template or solution (such as the call center or trouble ticket solutions) and yet after one meeting it appears clear to me they really want a custom application.  Case-in-point:  I had a client who wanted to use the Call Center template, yet they wanted to have a searchable case number and they wanted to use their HRIS system for the customer look-up as well as have a feature to create customers ad-hoc.  They were dissatisfied with the way the templated solution worked in so many regards.  They wanted to pop-up a look-up for customers and have that field populated in the form once selected.  They also needed the ticket to be immediately searchable (which forced to crawler to work double time and brought the server to a halt).  Normally these things are trivial to implement, but using "out-of-the-box" SharePoint, there really is no practical way to implement these simple requests (unless you write a SharePoint hosted ASP.net application, which then begs the question "Why host it on SharePoint?").
    3. Is anyone really using Powershell for SharePoint admin, data staging, and migration tasks?
    4. When are features and solutions not a good idea?  Case-in-point: Features are typically multi-use in nature.  I might have 5 sites that use the same feature.  It sure is handy to update the code for all of those at once with a simple update to the solution.  Where-as SharePoint hosted applications predominately need only one "instance" of the application and there are some manual processes (data staging) involved when the application instance gets "installed" onto the SharePoint server it is hosted on.  If another instance is ever installed, one would want to make an explicit decision as to whether or not it would use the same code base.  If there are application changes, you would also want to have the choice to migrate them independently. 
    5. Where is this mythological "Knowledge Worker" Microsoft keeps talking about?  While I like the idea, every place I've seen thus far typically follows the more traditional approach of having solutions "developed" by developers with input by business analysts and stakeholders.  Then usually those developers transition into support people who then perform the ongoing technical tasks (even the simple ones like adding a site column for a content type).

    New Rig

    A few weeks ago a friend of mine received his fully loaded Blackbird 002 Lci.  Awesome rig, but I must admit I had to fain enthusiasm.  While I must admit the product has an intangible appeal that one can only define as "cool".  It is a nice experience to see the machine performing at such incredible speeds.  All of the games perform at maximum detail with incredible frame rates even at the monitor's native resolution (2560 x 1600).  The Bose speakers sound surprisingly amazing.  The one aspect that baffles me is the cost.  He paid over $8800.  Ouch!  It's probably worth it, but I wonder if he'll still think that 2 years out when comparable hardware is like $1500. 

    I'm not sure why he didn't build his own to spec, as it would have saved $1800 for a similarly cool machine. I think the best looking case available is the Cosmos S.  That is the machine I have.  Granted some of my hardware is a generation old (like the QX6800 and 8800GTS which is over-clocked to the hilt), it still is a screamer.  We're going to post some comparison benchmarks soon to see exactly how much better his box is :) 

    Anybody else have this cool machine?  Message me!

    Specs:

     

    System Foundation


    Processor
    Quad Core - Intel® Core2™ Extreme Quad-Core 3.2GHz QX9770
    Memory
    4GB 1600 MHz CORSAIR PC-12800 DDR3 SDRAM (2x2GB)
    Thermal Management
    CPU and Graphic Cards Liquid Cooling (Nvidia Graphics)
    Motherboard
    EVGA nForce™ 790i Ultra
    Operating System
    Microsoft® Windows Vista™ Ultimate (64 Bit)
    Warranty
    1 year limited hardware and 1 year technical support

    Graphics and Audio


    Graphics Cards
    Dual NVIDIA GeForce GTX-280, with 1GB of GDDR3 SDRAM (LC)
    Audio Boards
    Creative Audio Sound Blaster® X-Fi™ XtremeGamer Fatal1ty Professional
    Power Supply
    1.1KW Power Supply

    Storage Systems


    Primary OS Storage
    300GB 10,000 rpm SATA
    Secondary Data Storage
    1TB 7200 rpm SATA
    Optical Disk Bay 1
    Super multi-drive, slim slots with Lightscribe (DVD+/-R/RW+/-DL)
    5.25" Bay
    Blu-Ray Rewriter Drive with LightScribe (CD-R/RW, DVD-R/RW/RAM, +R/RW, +/- R DL)

    Accessories


    Displays
    HP LP3065 30-inch LCD Monitor
    Speakers Systems
    Bose Companion® 5 multimedia speaker system
    Mice
    Voodoo Mouse by Razer
    Keyboards
    Logitech diNovo Keyboard

    Configuration:

    $8,586.00 USD*

    (Does not include shipping or taxes)

    Free books

    For those who have misunderstood the "free books" entries, the electronic versions are available online as a subscription service.  The price, while probably too high for many to consider, is worth it for professionals who use this stuff daily. 

    The books listed, now mostly gone, were real books that were part of my collection.  I gave many of them away to organizations who can dole them out to new developers who may not be able to afford them otherwise.  I no longer collect books as they're too much of a hassle to move and are of no use for reference in this day and age.  The electronic subscription service is the way to go, at least for now.  For those who are unable to afford the services, you might look for academic subscriptions or see if your local library or college has a similar service.

    Checkout http://wrox.books24x7.com and http://safari.oreilly.com

    If you enjoy keeping up to date on technology, these sites are worth it.  It costs about the same as buying a book every few months, and you get to search and read from the entire collection. 

    If anyone decides to join after reading this, please message me.  I'm curious about the global economics of the deal.  How many books do you own?  How many did you buy before?

    Regarding "Have you been burned by your own 'Estiquote'?"

    Clint Edmonson wrote on his blog:

    Here are a few estimating black eyes of wisdom that I can personally share:

    If it takes longer than a day it's an estimate. It's impossible to provide an accurate cost or hourly quote for anything longer than one day in our business. If you can't break the work down increments of one day or smaller, your requirements are too vague. I used to use 1 week time frames for my project planing but found that the margin of error was too high. Once slippages started occurring, weeks turned into months and I couldn't account for them because the reasons were too vague to be nailed down. If you're given 10 high level features and have no idea no idea where to start, you should start by negotiating an incremental delivery schedule with budget payouts for each increment. Which brings me to my next black eye....

    Fixed-bid doesn't work. Somebody always get screwed. Time and materials is always the best way to bill in our industry. It's better to treat the relationship as a partnership rather than a consumer-provider model. Get the customer to commit to a budget with an iterative investment schedule. If they feel the project is not going in the direction they want, they can cut funding as early as possible. If the development team feels that the project is going south, they can start making noise early and get the problems addressed or at least make sure all the stakeholders know that there is a problem. Ideally, you want the customer to be the one to decide the project should be stopped, but sometimes it's the technical team that needs to call it, so...

    It needs to be OK to kill a project. This one always gets under my skin. I've been dinged on performance reviews a couple of times in my career for calling halts to doomed projects. There were always valid reasons to stop: conflicting requirements, poor team performance, no infrastructure to deploy to...I could go on. The fact remains that as a leader (architect or pm) there is unrealistic pressure to deliver even in the face of doom. I even had one project where both the customer and I wanted to kill the project, but my IT management didn't want the black eye. Thank you matrix management. I'll conjecture that if it became acceptable to cancel dud projects as early as possible, IT departments might even become profit centers in some companies. Honestly...$80,000 to build the corporate jet reservation system?

    While the post was thought provoking, I disagree with a couple of his black eyes of wisdom.

    First off, I totally disagree about his opinion on killing a project.  I might agree if he said "retool a project".  Software is easy.  Business management and politics are not easy.  This is basically because the rules are made to be so convoluted so-as to allow each individual to cope with the imperfection of it all (ideally the ring of finger pointers should be big enough such that nobody knows who's really at fault).  Much like the individual executioner never truly knows who dealt the lethal shot on a firing squad, diffusion of responsibility is a necessity in the corporate realm. 

    Company officers *should* budget 80K for projects like the corporate jet reservation system not because the simple application is worth it but rather because they know there will be mistakes on their first attempt and the "happy path" any engineer or architect would typically plan for is highly unlikely.  They select a software system that is not mission critical before they attempt it with high risk (political and architectural) endeavors (larger corporations have the luxury of experimenting as well as executing on redundant efforts).  Also maybe they are looking to have a flourish to show off during the next merger/consolidation meeting.  One of my clients spent nearly a million dollars on an asset tracking system.  Sure they could have bought an off the shelf product for half that, but they might not have ever gotten the product to work for their specific needs.  While it sounds like a lot of money, the shareholders, board members, and company officers saw the project as a huge success.  The million dollars went to pay for the Microsoft platform (a huge chunk), the hardware, and the salaries of the employees and consultants who were involved in the project (who might have been idle or unemployed otherwise).  Personally the $45K spent for SharePoint licenses seemed to be a bit much "for a piece of paper" but they were fine with it.  My point is one person's 80K is not the same as another's.

    At least 90% of business is controlling perception.  What will your shareholders think of your failure?  What will happen to your R&D write off?  What will happen to my budget next year if I don't consume it this year.  Oh, that might mean layoffs!?!?  Can I justify this expense (to the shareholders?  How about the board?  How about the auditors?)  A lot of analytical thinkers don't always realize that the majority of the business world exists in that ethereal grey area. Is that Red Bull worth $2? No, there are about 10 cents worth of minerals and compounds in it!  Does it take a building full of evangelists to sell MS software? Not really considering there aren't many alternatives!  But people seem to like these things.  As a Microsoft investor, I presume the leaders at Microsoft must value the evangelists, so I'll not meddle with the nitty-gritty as long as I perceive value in my investment and the dividend checks clear.  So it is worth it after all.  On the other hand, if I learned that over the past 12 years Microsoft had been diverting thousands of dollars to their Evangelists who were doling out information that was never used (hypothetically of course), I might wonder if that was a good investment of my dollar.  That *news* just impacted my perceived value of my Microsoft stock.  The perception will translate into reality if enough people are soured by the information.

    The trick is to make sure the stakeholders are happy at the end of each day.  If you ramped up a $60,000 price tag trying something different and it's on the path to failure, you simply correct the mistakes and put it on the path to success (ideally you worked a plan B into the original budget).  It's only software.  How hard can it be?  Failure is unacceptable.  The real mistake is waiting too late to correct the problem (although I realize sometimes we are powerless to correct the problem, so as long as we raise the right flags, the mistake is not ours to own; as consultants we many times have to suck it up and take the heat nonetheless).

    In regard to the point about fixed bids never working, I would strongly disagree.  While fixed bids are limited in their applicability in the software industry, I have personally been very successful in creating win-win arrangements with many clients.  Many times my clients want the exact same thing.  I can bid the contract and leverage my efficiencies.  While I typically bill any required enterprise integration with dependencies on their existing employees and systems as time and material, the bulk of the cost is fixed.  Since I'm able to provide a solution to their business problems for much less than they were prepared to pay, I don't see how anyone is getting screwed.

    Overall I do agree that project estimation is extremely difficult.  It is one of those necessary evils.  Somebody has to go to the board and say, "Here is what we want and this is what we think it will cost.".  If our expert software engineers, architects and consultants can't come up with a number then there's no chance the project will ever get started.  I think the bigger problem lies in the fact that most of those individuals estimate how long it would take clones of themselves to build the project and fail to remember that they are they highly paid experts, not the coder with 1-2 years experience.  Technical people tend to be way overly optimistic (I guess that's my black eye of wisdom to contribute).

    Talking about YouTube - Cosmos S VS Antec 1200

      This one is sharp too...

    YouTube - Cosmos S VS Antec 1200
      

    Talking about YouTube - Gaming rig part 2 - Cosmos S

    This is a better vid

    Quote

    YouTube - Gaming rig part 2 - Cosmos S
      

    Talking about YouTube - Watercooled Coolermaster Cosmos S Extreme Custom Gaming Rig

     This is one of the cases I'm currently building out. 

    Quote

    YouTube - Watercooled Coolermaster Cosmos S Extreme Custom Gaming Rig
      

    More Free Books

    Okay, some of these books are a bit older, but for one reason or another I set them aside to keep.  Now-a-days I'm only keeping electronic copies, so thse paper copies are available if anyone wants them.

    Professional COM Appliations with ATL
    WROX
    1998

    Oracle 9i Java Programming - Solutions for Developers Usings PL/SQL and Java
    WROX
    2001

    Professional C#
    WROX
    2001

    Professional ASP.NET
    WROX
    2001

    XSLT 2nd Edition - Programmer's Reference
    WROX
    2001

    ADO 2.1 - Programmer's Reference
    WROX
    1999

    Beginning ATL COM Programming
    WROX
    1998

    Professional SQL Server 2000 Data Warehousing with Analysis Services
    WROX
    2001

    Professional UML with Visual Studio .NET - Unmasking Visio for Enterprise Architects
    WROX
    2002

    Designing Distributed Applications - With XML, ASP, IE5, LDAP, and MSMQ
    WROX
    1999

    Professional MOM 2005, SMS 2003, and WSUS
    WROX
    2006

    Professional XML Meta Data
    WROX
    2001

    Microsoft ADO.NET - Core Reference
    Microsoft Press
    2002

    Advanced Windows - The Developer's Guide to the Win32 API for Windows NT 3.5 and Windows 95
    Microsoft Press
    1995

    Rapid Development - Taming Wild Software Schedules
    Microsoft Press
    1996

    OLE Controls Inside OUt
    Microsoft Press
    1995

    Inside OLE Second Edition
    Microsoft Press
    1995

    Software Requirements 2nd Edition
    Microsoft Press
    2003

    Inside Microsoft Visual InterDev
    Microsoft Press
    1997

    Microsoft Sharepoint Products and Technologies - Resource Kit
    Microsoft Press
    2004

    Designing Component-Based Applications
    Microsoft Press
    1999

    Developing Web Applications with Visual Basic .NET and Visual C# .NET (MCAD/MCSD) - Exams 70305 & 70-315
    Microsoft Press
    2002

    Programming "INDIGO" - The code name for the unifieid framework for building service oriented applications on the microsoft windows platform
    Microsoft Press
    2005

    Analyzing Requirements and Defining .NET Solution Architectures (MCSD Exam 70-300)
    Microsoft Press
    2003

    Microsoft Exchange Server 5.5 Administrator's Companion
    Microsoft Press
    1999

    Inside Distributed COM
    Microsoft Press
    1998

    Programming Microsoft Outlook and Microsoft Exchange
    Microsoft Press
    1999

    Mastering EJB and the Java 2 Platform, Enterprise Edition
    Wiley
    1999

    Enterprise JavaBeans - Developing Component-Based Distributed Applications
    Addison Wesley
    1999

    Understanding SQL
    SYBEX
    1990

    Database Programming with Visual C++ 6
    SAMS
    1999

    Java Black Book
    Coriolis
    2000

    Visual C++ Templates
    PH PTR
    2000

    CORE JAVA Volume II-Advanced Features
    Sun Microsystems Press
    2000

    applied JAVA Patterns
    Sun Microsystems Press (Prentice Hall)
    2002

    more Servlets and JavaServer Pages
    Sun microsystems (PH)
    2002

    macromedia Generator 2 Developer Edition - Using Generator
    macromedia
    2000

    macromedia Flash 5 Using Flash
    macromedia
    2000

    macromedia Flash 5 Actionscript Reference Guide
    macromedia
    2000

    Oracle 9i XML Handbook - Develop XML-Based E-Commerce Applications
    Oracle Press (OSborne)
    2001

    The Computer Consultant's Guide 2nd Edition
    Wiley
    1997

    Extreme Programming Applied - Playing to Win
    Addison Wesley
    2002

    Software Project Management - A Unified Framework
    Addison Wesley
    1998

    Building Web Applications with UML Second Edition
    Addison Wesley
    2003

    UML Distilled Second Edition - A Brief Guide to the Standard Object Modeling Language
    Addison Wesley
    2000

    Managing Software Requirements Second Edition - A Use Case Approach
    Addison Wesley
    2003

    The IT Consultant
    Jossey-Bass Pfeiffer
    2000

    Intermediate Problem Solving and Data Structures - Walls and Mirrors - 2nd Edition
    Benjamin Cummings
    1991

    Principles of Database and Knowledge - Base Systems - Volume I: Classical Database Systems
    Computer Science Press
    1988

    Object-Oriented Design in JAVA
    Waite Group Press (Macmillan)
    1998

    Operating System Concepts 3rd Edition
    Addison Wesley
    1991

    File Structures Second Edition
    Addison Wesley
    1992

    Free Books

    I'm dumping my shelves of computers books.  If it can't be had electronically in this day and age, then it can't be had.  Let me know if you want any of the following:

    Access 2003 VBA Programmer's Reference

    Access 2007 VBA Programmer's Reference

    Accessible XHTML and CSS Web Sites: Problem - Design - Solution

    ASP.NET 2.0 Instant Results

    ASP.NET 2.0 MVP Hacks and Tips

    ASP.NET 2.0 Website Programming: Problem - Design - Solution

    ASP.NET AJAX Programmer's Reference: with ASP.NET 2.0 or ASP.NET 3.5

    ASP.NET Website Programming: Problem - Design - Solution, C# Edition

    ASP.NET Website Programming: Problem - Design - Solution, Visual Basic .NET Edition

    Beginning Access 2000 VBA

    Beginning Access 2007 VBA

    Beginning Access 2002 VBA

    Beginning Access 2003 VBA

    Beginning ActionScript 2.0

    Beginning Active Server Pages 3.0

    Beginning Ajax

    Beginning Ajax with ASP.NET

    Beginning Algorithms

    Beginning ASP.NET 2.0

    Beginning ASP.NET 3.5 : in C# and VB

    Beginning ASP.NET 2.0 AJAX

    Beginning ASP.NET 2.0 and Databases

    Beginning ASP.NET 2.0 with C#

    Beginning ASP.NET 1.0 with C#

    Beginning ASP.NET 1.1 with VB.NET 2003

    Beginning ASP.NET 1.0 with Visual Basic.NET

    Beginning ASP.NET 1.1 with Visual C# .NET 2003

    Beginning ASP.NET Databases Using VB.NET

    Beginning C# 2005 Databases

    Beginning Cryptography with Java

    Beginning CSS: Cascading Style Sheets for Web Design, 2nd Edition

    Beginning CSS: Cascading Style Sheets for Web Design

    Beginning Database Design

    Beginning DotNetNuke Skinning and Design

    Beginning Dreamweaver MX

    Beginning Dynamic Websites: with ASP.NET Web Matrix

    Beginning Excel Services

    Beginning Expression Web

    Beginning InfoPath 2003

    Beginning JavaScript, 2nd Edition

    Beginning JavaScript

    Beginning JavaScript, 3rd Edition

    Beginning Regular Expressions

    Beginning RSS and Atom Programming

    Beginning SharePoint 2007: Building Team Solutions with MOSS 2007

    Beginning SharePoint 2007 Administration: Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007

    Beginning SharePoint Administration: Windows SharePoint Services and SharePoint Portal Server

    Beginning Shell Scripting

    Beginning SQL

    Beginning SQL Server 2005 Administration

    Beginning SQL Server 2005 Programming

    Beginning TiVo Programming

    Beginning Transact-SQL with SQL Server 2000 and 2005

    Beginning Unix

    Beginning VB.NET, 2nd Edition

    Beginning VB.NET 2003

    Beginning VB.NET Databases

    Beginning Visual Basic 2005

    Beginning Visual Basic 2005 Databases

    Beginning Visual C#, Revised edition of Beginning C# for .NET v1.0

    Beginning Visual C++ 6

    Beginning Visual C# 2005

    Beginning Web Programming with HTML, XHTML, and CSS

    Beginning Xcode

    Beginning XML, 3rd Edition

    Beginning XML, 2nd Edition

    Beginning XML, 4th Edition

    Beginning XML Databases

    A Blogging Application in ASP.NET 2.0

    C# Graphics Programming

    Create Amazing Custom User Interfaces with WPF, C#, and XAML in .NET 3.0

    CSS Instant Results

    del.icio.us Mashups

    Dynamic Control Survivability in ASP.NET

    Excel 2000 VBA: Programmers Reference

    Excel 2002 VBA: Programmers Reference

    Excel 2003 VBA Programmer's Reference

    Excel 2007 VBA Programmer's Reference

    Expert Access 2007 Programming

    Expert One-on-One Microsoft Access Application Development

    Expert One-on-One Visual Basic 2005 Database Programming

    Expert One-on-One Visual Basic 2005 Design and Development

    Expert SQL Server 2005 Integration Services

    Hands On ASP.NET AJAX Control Toolkit

    Ivor Horton's Beginning Visual C++ 2008

    Ivor Horton's Beginning Visual C++ 2005

    Leverage LINQ in ASP.NET 3.5 Projects

    .NET 3.5 CD Audio Player: Create a CD Audio Player in .NET 3.5 using WPF and DirectSound

    Professional ADO.NET 2: Programming with SQL Server 2005, Oracle, and MySQL

    Professional Ajax, 2nd Edition

    Professional Ajax

    Professional ASP.NET 1.0, Special Edition

    Professional ASP.NET 1.1

    Professional ASP.NET 3.5 : in C# and VB

    Professional ASP.NET 2.0

    Professional ASP.NET 2.0 AJAX

    Professional ASP.NET 2.0 Databases

    Professional ASP.NET 2.0 Design: CSS, Themes, and Master Pages

    Professional ASP.NET 2.0 Security, Membership, and Role Management

    Professional ASP.NET 2.0 Server Control and Component Development

    Professional ASP.NET 2.0 Special Edition

    Professional ASP.NET 2.0 XML

    Professional Assembly Language

    Professional BizTalk Server 2006

    Professional C#, 2nd Edition

    Professional C#, 3rd Edition

    Professional C++

    Professional C# 2005

    Professional C# 2005 with .NET 3.0

    Professional Community Server

    Professional Community Server Themes

    Professional Crystal Reports for Visual Studio .NET

    Professional Crystal Reports for Visual Studio .NET, 2nd Edition

    Professional CSS: Cascading Style Sheets for Web Design

    Professional Development with Web APIs : Google, eBay, Amazon.com, MapPoint, FedEx

    Professional JavaScript for Web Developers

    Professional LINQ

    Professional Live Communications Server

    Professional Microsoft Smartphone Programming

    Professional Microsoft Virtual Server 2005

    Professional .NET 2.0 Generics

    Professional .NET Framework 2.0

    Professional Oracle Programming

    Professional Outlook 2007 Programming

    Professional Refactoring in Visual Basic

    Professional Rich Internet Applications: AJAX and Beyond

    Professional Search Engine Optimization with ASP.NET: A Developer's Guide to SEO

    Professional Search Engine Optimization with PHP: A Developer's Guide to SEO

    Professional SharePoint 2007 Development

    Professional SlickEdit

    Professional Software Testing with Visual Studio 2005 Team System: Tools for Software Developers and Test Engineers

    Professional SQL Server 2005 Administration

    Professional SQL Server 2005 CLR Programming: with Stored Procedures, Functions, Triggers, Aggregates, and Types

    Professional SQL Server 2000 DTS (Data Transformation Services)

    Professional SQL Server 2005 Integration Services

    Professional SQL Server 2000 Programming

    Professional SQL Server 2005 Programming

    Professional SQL Server 2005 Reporting Services

    Professional SQL Server 2005 XML

    Professional SQL Server Analysis Services 2005 with MDX

    Professional SQL Server 2005 Performance Tuning

    Professional SQL Server Reporting Services

    Professional Team Foundation Server

    Professional UML Using Visual Studio .Net

    Professional VB 2005

    Professional VB 2005 with .NET 3.0

    Professional VB.NET, 2nd Edition

    Professional VB.NET 2003

    Professional Visual Studio Extensibility

    Professional Visual Studio 2005

    Professional Visual Studio 2005 Team System

    Professional VSTO 2005: Visual Studio 2005 Tools for Office

    Professional WCF Programming: .NET Development with the Windows Communication Foundation

    Professional Web 2.0 Programming

    Professional Web Parts and Custom Controls with ASP.NET 2.0

    Professional Windows Live Programming

    Professional Windows Vista Gadgets Programming

    Professional Windows Desktop and Server Hardening

    Professional Windows PowerShell Programming: Snapins, Cmdlets, Hosts and Providers

    Professional Windows Workflow Foundation

    Professional WPF Programming: .NET Development with the Windows Presentation Foundation

    Professional Xen Virtualization

    Professional XML

    Professional XNA Game Programming: For Xbox 360 and Windows

    Professional XNA Programming : Building Games for Xbox 360 and Windows with XNA Game Studio 2.0 , 2nd Edition

    Real World SharePoint 2007: Indispensable Experiences From 16 MOSS and WSS MVPs

    Scripting SQL Management Objects in Windows PowerShell

    SharePoint 2007 and Office Development Expert Solutions

    Silverlight 1.0

    VBScript: Programmer's Reference

    VBScript Programmer's Reference, 3rd Edition

    VBScript Programmer's Reference, 2nd Edition

    Visual Basic 2005 with .NET 3.0 Programmer's Reference

    Visual Basic Graphics Programming

    Visual Basic 2005 Instant Results

    Visual Basic 2005 Programmer's Reference

    Visual Basic 2008 Programmer's Reference

    Web Standards Programmer's Reference: HTML, CSS, JavaScript, Perl, Python, and PHP

    Working with Animation in Silverlight 1.0

    Wrox's ASP.NET 2.0 Visual Web Developer 2005 Express Edition Starter Kit

    Wrox's SQL Server 2005 Express Edition Starter Kit

    Wrox's Visual Basic 2005 Express Edition Starter Kit

    Wrox's Visual C# 2005 Express Edition Starter Kit

    XML: Problem - Design - Solution

    XPath 2.0 Programmer's Reference

    XSLT: Programmer's Reference, 2nd Edition

    XSLT 2.0 Programmer's Reference, 3rd Edition

    IBM provides OLPC training for developers

    The XO platform is centered around open standards and the GNU/Linux OS.  The interface for the application environment is called Sugar.  Sugar was written in Python.  IBM provides a tutorial online to help new users learn to use Sugar to develop Python applications for the XO Laptop platform.

    You need to create a free account if you don't already have one.

    https://www6.software.ibm.com/developerworks/education/l-sugarpy/index.html

    Cat Disease Linked To Flame Retardants In Furniture And To Pet Food

    ScienceDaily (2007-08-16) -- A mysterious epidemic of thyroid disease among pet cats in the United States may be linked to exposure to dust shed from flame retardants in household carpeting, furniture, fabrics and pet food, scientists are reporting. They report evidence linking the disease to exposure to environmental contaminants called polybrominated diphenyl ethers (PBDEs), which the researchers found to be elevated in blood samples of hyperthyroid cats. ... > read full article