Contents tagged with Hardware

  • Welcome 2011

    Things that happened in 2010

    • MIX10 was absolutely fantastic. Read my report of MIX10 to see why.
    • The dotnet Cologne 2010, the community conference organized by the .NET user group Köln and my own group Bonn-to-Code.Net became an even bigger success than I dared to dream of.
    • There was a huge discrepancy between the efforts by Microsoft to support .NET user groups to organize public live streaming events of the PDC keynote (the dotnet Cologne team joined forces with netug  Niederrhein to organize the PDCologne) and the actual content of the keynote. The reaction of the audience at our event was “meh” and even worse I seriously doubt we’ll ever get that number of people to such an event (which on top of that suffered from technical difficulties beyond our control).
    • What definitely would have deserved the public live streaming event treatment was the Silverlight Firestarter (aka “Silverlight Damage Control”) event. And maybe we would have thought about organizing something if it weren’t for the “burned earth” left by the PDC keynote. Anyway, the stuff shown at the firestarter keynote was the topic of conversations among colleagues days later (“did you see that? oh yeah, that was seriously cool”).

    Things that I have learned/observed/noticed in 2010

    • In the long run, there’s a huge difference between “It works pretty well” and “it just works and I never have to think about it”. I had to get rid of my USB graphics adapter powering the third monitor (read about it in this blog post). Various small issues (desktop icons sometimes moving their positions after a reboot for no apparent reasons, at least one game I couldn’t get run at all, all three monitors sometimes simply refusing to wake up after standby) finally made me buy a PCIe 1x graphics adapter. If you’re interested: The combination of a NVIDIA GTX 460 and a GT 220 is running in “don’t make me think” mode for a couple of months now.
    • PowerPoint 2010 is a seriously cool piece of software. Not only the new hardware-accelerated effects, but also features like built-in background removal and picture processing (which in many cases are simply “good enough” and save a lot of time) or the smart guides.
    • Outlook 2010 crashes on me a lot. I haven’t been successful in reproducing these crashes, they just happen when every couple of days on different occasions (only thing in common: I clicked something in the main window – yeah, very helpful observation)
    • Visual Studio 2010 reminds me of Visual Studio 2005 before SP1, which is actually not a good thing to say about a piece of software. I think it’s telling that Microsoft’s message regarding the beta of SP1 has been different from earlier service pack betas (promising an upgrade path for a beta to the RTM sounds to me like “please, please use it NOW!”).
    • I have a love/hate relationship with ReSharper. I don’t want to develop without it, but at the same time I can’t fail to notice that ReSharper is taking a heavy toll in terms of performance and sometimes stability.

    Things I’m looking forward to in 2011

    • Obviously, the dotnet Cologne 2011. We already have been able to score some big name sponsors (Microsoft, Intel), but we’re still looking for more sponsors. And be assured that we’ll make sure that our partners get the most out of their contribution, regardless of how big or small.
    • MIX11, period. 
    • Silverlight 5 is going to be great. The only thing I’m a bit nervous about is that I still haven’t read anything official on whether C# next version’s async/await will be in it. Leaving that out would be really stupid considering the end-of-2011 release of SL5 (moving the next release way into the future).
  • How a Firefox Issue Turned out to be a SSD Problem

    I’ve used the holidays to finally install Windows 7 (x64) on my desktop computer. Vista x64 did a fine job, but compared to the Windows 7 system on my notebook it felt kind of old. And as a small Christmas present to myself, I decided to install the system on an SSD (a Crucial C300 SSD 256GB).

    A fresh install of Win 7 on a new SSD in a computer which (under Vista) has already proven to be a great development and gaming machine – should be a killer combo, right?

    Well, not quite. The first experiments after setting up the system were kind of sobering. The system, while being really fast, felt kind of sluggish every now and then. And that didn’t change after the computer ran for a while (i.e. building the search index was no longer a possible cause).

    The most annoying issue was that Firefox often (but not always) took up to a second after clicking a link before it would navigate to a new page. Internet Explorer as well as Chrome did not show this behavior – at least it seemed.

    If you search the web for “Firefox” and “sluggish”, you’ll get the impression that it might by a network problem. But after trying out various things and observing the system more closely, the idea dawned in my head that the SSD could be the problem.

    And in fact it was. It turned out that there’s a problem with the current firmware 006 of the Crucial C300 SSD which leads to the dramatic spikes in an HD Tune benchmark (repeating the benchmark showed the spikes at different locations):

    (ASUS P5Q Deluxe, Q9450, 8GB RAM, SSD drive attached to on-board SATA2 controller. 
    Update 2011-01-01: Note that the measurements were done while testing in IDE mode)

    The drive came with firmware 002 and after performing a quick “smoke test” I upgraded it to 006. Unfortunately there’s no safe way to go back.

    A thread in the Crucial forum contained various tips for a workaround (some of which involved turning of automatic TRIM which others strongly cautioned against). What did help me was to “turn off Windows write-cache buffer flushing on the device” in the device manager:


    After I did that the system felt much better, and the benchmark showed no more dramatic spikes:


    Of course the warning on the dialog box did not go unnoticed and I hope that Crucial will release a firmware update soon.

    But right now the drive (and the overall system) is performing fine.

    Update 2011-01-01: The system was originally installed with the drive in AHCI mode, then the drive was switched to IDE during testing. That’s when the benchmarks for the original blog post were run. I’m now back to AHCI mode, here are the benchmark results:


    You’ll notice the higher transfer rate; the results would be even better if the drive was attached to a SATA3 controller.

    Note that switching the mode (from IDE to AHCI) in the BIOS cleared the “magic” checkbox mentioned in the blog post so at first the system was stuttering again.

  • Thoughts on Three Monitors for Developers

    For developers, using two monitors almost has become mainstream. Modern video cards tend to have two outputs, a second monitor usually is available after upgrading to a larger screen, and most software - including operating systems - doesn't have any major problems working with multiple displays. And it's pretty safe to say that the majority of developers who have experienced the productivity gain of a two-monitor system (when used properly) don't want to go back.

    The next question obviously is whether - and how much - a third monitor would help. I have two 24" TFTs both at work and at home and I'm using an additional display (my old 19" TFT) at home for a couple of months now. After spending three weeks on vacation at home and having finished the second week back at work I thought that now is a good time to compare the two setups and share my experiences.

    How do I hook up a third monitor anyway?

    Those of you who are interested in a third monitor may already have read about the problems with adding a second PCIe video card to your system - some combinations work, others don't. If you're like me and want an easy, low-risk solution, you should take a look at an USB graphics adapter.

    I chose an EVGA UV Plus+ UV16 that has a DVI port and a chipset by DisplayLink for which 64bit Vista drivers are available. It may not be suitable for hardcore gaming, and HD resolution videos show a slight stutter if you're looking closely. But Aero and applications are working just fine. If you watch e.g. the rotation of the chess board in Chess Titans, you couldn't tell that you're watching it on a display connected via USB.

    Regarding compatibility, I have to switch off the UV16 graphics adapter for running Flight Simulator X (switching off/on is easy via a tray icon), but I don't have problems with other games I've tried: Prince of Persia, Mass Effect and L4D run happily on my primary display (driven by a Geforce 8800 GTS 512). All in all I'm very happy with the UV16 and can recommend it.

    Now, what is it like working with a third monitor?

    To be honest, it takes some time to get used to. One thing I had to struggle with at first was caused by the position of the mouse. I'm right-handed and both at work and at home I have one 24" TFT right in front of me as my primary screen, and another 24" TFT as a secondary screen to the right, at an angle of about 40 degrees.

    When I turn to the right, the secondary screen feels equally "near" to me as the primary screen. But when I turn to the left, towards the third screen, that screen feels more "distant" than the other two because I'm turning away from the mouse. This is strange at first, but in the end I got (kind of used) to it.

    And what about productivity?

    Don't expect a similar effect like when upgrading from one to two monitors. And it may happen that you don't develop a "couldn't live without three" feeling at all - after two weeks back at work with "just" two monitors, I know I don't. Sure it's nice to have more space for help files and web pages, but I have observed that I tend to

    • either work with two instances of Visual Studio side-by-side (e.g. for moving over code step by step from a sample, or design time debugging),
    • do some research-heavy development in a single (visible) Visual Studio instance (with web pages and help files on the secondary display).

    Well, what is it good for then at all?

    For me personally, the primary reason for adding a third monitor was my hobby of working with video. I use the third screen as a preview device, and with the preview in Sony Vegas never running 100% in real time, I can't tell what is causing the occasional stutter anyway (USB adapter or video preview). Having the other screens available completely for the timeline and tool windows is great.

    Another thing I like about a third monitor is that I have enough space for things like Twitter, Messenger, Skype. But this is at home, where I actually want to notice updates immediately and I'm open to distractions, contrary to the situation at work.

    Having a third monitor dedicated to a remote desktop session or a virtual machine may be nice under certain circumstances, but with sufficiently large primary and secondary screens, I haven't encountered situations where three screens would have been much better than two. Let's put it this way: it's not as if going multi-monitor would suddenly take away the feature of switching between windows...

    So what do I recommend?

    Here's my recommendation regarding multi-monitor systems:

    • Before even thinking about three screens, make sure you have two large screens of equal size. Being able to move an application from the primary to the secondary screen without fiddling around with the layout inside the application window (think Visual Studio) is worth a lot.
    • If you already have two large screens, a third monitor is standing around collecting dust and you have enough space on your desk - you definitely could do worse than spending your money on a USB graphics adapter.
    • But if you have to actually buy a third monitor, then you really should think about how you want to use it. Unless money isn't an issue and you want to impress people (in this case make sure that your computer emits the typical sounds of computers from movies and TV ;-). But for everybody else, watch yourself at the computer - where is your focus, how long do you need a certain application, how often do you have to switch between windows, which information do you need to be able to view in parallel, etc. And then make a buying decision.

    As you can guess, this is my completely personal opinion, not based on any scientific research, so as usual YMMV. If you have any questions, comments or suggestions, feel free to leave a comment. Do you agree? Or do you organize your work in a different way across monitors so that three monitors notably increase your productivity?

  • Taking Care of a Developer's Most Important Tool...

    Today I finally took the time to completely clean my keyboard (a Cherry G80–3000). I removed all keys, cleaned the area behind the keys with a vacuum cleaner (uh.. disgusting) and used soap and warm water to wash the keys (oh look how bright they are now!). It’s not that I didn’t take care of my keyboard at all before, but after some years of use, superficial cleaning with a damp cloth just isn’t enough.

    Some pictures:

    20060129_KeyboardWashing    20060129_KeyboardDrying

    20060129_KeyboardBeforeSorting    20060129_KeyboardComplete

    Ahhh… Almost like having a brand new keyboard!