Tag Archives: windows 8

Setting up my new Dev Rig and solving the DPC_WATCHDOG_VIOLATION error

Last month I finally setup my new dev-rig. Yes, I still prefer desktops for development (call me old school)! The configuration is as follows:

  1. Processor: Intel Core i5 4570
  2. Motherboard: Gigabyte H87-HD3
  3. RAM: Crucial Ballistix Tactical (8GBx2) 16GB @1600MHz  
  4. Power Supply: Corsair CX500
  5. Case: Aerocool GT Advance Mid Tower Interior USB3 12cm Red LED Fan Screwless – Black
  6. SSD: Kingston 240GB V300 (Recycled from my MBP)

Here’s the Amazon (co.uk) Wishlist with all the items – My Haswell Build

2014-04-12T21-54-17_0

Putting it together

Having assembled quite a few machines in my past, this was my first LGA processor. So after a few videos on YouTube on how to put one in, I had the confidence to do it. The processor installation went without hiccup. The Heat Sink and Fan gave a few anxious moments with the amount of pressure required to bolt all the four corners down, but I did it without damaging anything.

Rest was reasonably easy. When installing RAM (if installing 2 sticks) follow the color coding on the slots and check your M/B instruction manual to confirm which set you should use first. If you are putting in 4 sticks, hopefully they are all evenly matched so color coding doesn’t matter.

Key to getting a nicely matched Case was evident when I was able to use the USB3 header on the M/B for plugging in the USB3 port in the front.

The front panel Audio headers work, but sound from the built in Sound Card is pathetic. I can hear the hissing of the fan, whining of the PSU and even moving the (wireless mouse) results in funny squeaking sounds. I use my Blue Yeti (microphone) as an external soundcard, it has very neutral sound and I can use headphones without the annoyances of the internal soundcard.

This case has two fans built in, both come with 3 pin cables that you can plug on to the motherboard, allowing finer control of Fan speed from OS/Additional Software.

The Power Supply goes at the bottom of this case. One suggestion, before putting in the power supply, put the SSD in. Once the P/S is in, there are way too many cables to get out of the way, unless you are using a fully modular P/S, in which case sequence doesn’t matter). The SSD sits just above the 3.5” bays (there place to put only one SSD. For more than one, you’ll need a 3.5” to 2.5” converter). The case comes with a pamphlet that suggests you bolt it to the grill (above the 3.5” bays), but if you do so, it’s difficult (if not impossible) to plug in the SATA and power cables.

This case doesn’t have a power or ‘HDD’ light header, it does have a molex connector for the Red LEDs  that serve as the ‘power’ lights. Plug it into any of the molex power connectors from the P/S.

Given that we don’t have HDDs any more, the ‘HDD’ light doesn’t really make much sense.

The 5.25” drive bay covers can be pinched out, but don’t press too hard, you’ll snap something. I snapped a hook and had to superglue it back.

BIOS Defaults

The default BIOS settings are by default pretty good. Just make sure you set the Disk Controller to AHCI (don’t remember what the default was). This is important from getting the best out of your SSD and you can’t change it after OS is installed.

I also turned on the XMP memory profile, this makes full use of the 1600MHz Memory Bandwidth, else your RAM will run at 1333MHz.

The CX500 and Haswell

After I purchased the CX500 I found various articles saying the CX500 was still not Haswell Compliant. Haswell processors have a special power save mode that draws even less power than the ATX standards. I thinks it’s called S7 or something. This results in system not coming out of Power Save mode. However, I have not encountered any issues with the P/S. I put my machine to Sleep overnight regularly and it comes back without fail. So newer versions of CX500 should be fine. There is an ‘official’ CX500 V2 also but mine doesn’t say V2. Either ways, it works fine for me. I’ll update on longevity later.

Windows Phone 8 SDK Installation and DPC_WATCHDOG_VIOLATION

I installed Windows 8 on it first and then upgraded to 8.1 (complete overwrite). After running updates repeatedly, till all updates were in place, I installed Windows Phone 8 SDK. As soon as it re-booted, I got a BSOD saying DPC_WATCHDOG_VIOLATION. I ignored it initially and updated the latest Visual Studio 2012 service pack (without which WP emulator doesn’t work on Windows 8.1). After that the WP Emulator worked but every reboot would result in a watchdog violation. This upset me terribly. No amount of Driver install from the Driver disk/Manufacturer’s site etc. helped. Ultimately uninstalling Hyper V (and effectively killing any chance of WP development) I was able to ‘fix’ the reboot issue.

After a lot of Ducking around and posting on Eight Forums, I did a Windows 8.1 Reset. However, after reset as soon as I installed WP 8 SDK, the BSOD returned. This time I installed Gigabyte’s APP Center app from the CD that accompanies the Motherboard. Using the APP Center, I updated all the drivers and then updated the BIOS. The motherboard came with V5, I updated it to V6 (latest available). The APP Center is really cool way to update BIOS updates. Just point to the one of the servers offered, wait for download to complete and hit OK. Thanks to the dual BIOS scheme, the App can flash the BIOS on the fly. Once done, it reboots.

After the reboot the DPC_WATCHDOG_VIOLATION was resolved. Phew!

Side Note

If you have a Office 365 for Business account, don’t setup Mail or pay very close attention to the warning that Mail gives about changing security settings. Once the security settings are applied I lost Admin rights. I couldn’t install SQL Express/Create new User Account and in general had permission issues all around. This is why I actually did the reset. I haven’t reapplied the security settings. Not sure if this is the root cause, but for now I don’t have the permissions I had earlier, so I intend to keep things that way.

SSD Performance

I had high hopes from my Kingston V300, but was surprised to see it’s result compared to my V200 back in India.

as-ssd-bench KINGSTON SV300S3 3.22.2014 5-22-56 PM

As you can see the V300 outpaces the V200 overall but 4K read/write speed is actually lower than the V200. Wonder why! Maybe last six months playing second fiddle in my MBP took it’s toll.

Conclusion

I built this rig on a tight budget, but it’s a decent performing setup thanks to the ample RAM and SSD. Honestly, once you go SSD you just can’t go back to an HDD. Maybe I’ll add a Crossfire someday to it (unlikely), but it is likely to get more RAM and bigger SSDs in the future.

Advertisements
Tagged , ,

Developing Windows 8 apps on Windows 8.1 Dev Machine (Updated)

TLDR; Don’t do it

I built Kalliope media player for Windows 8.1 before Windows 8 because the MediaElement and overall APIs that I wanted looked more mature in 8.1 than 8.0 and hence it was ‘faster’ to build it for 8.1.

But Windows 8 PCs still outnumber Windows 8.1 PC by almost 2:1. Lesson for Microsoft, their PC customers are not as keep ‘upgraders’ as say Phone customer (specifically Apple iPhone customers). Anyway, Windows 8 platform was hard to ignore so I decided to backport Kalliope to run on Windows 8.

My Dev Environment

Window 8.1 VM fully patched with Visual Studio 2012 Express and Visual Studio 2013 Express for Windows.

So near yet so far

I was using VS2012 on the VM for the Windows 8 port. Work was almost done, and I was ready to start WACKing the app, when I thought, might as well run it on a Windows 8 machine and test! BAM!!! The Application failed to even navigate properly. Couple of exceptions I’ve caught so far

App_UnhandledException: The property ‘HeaderTemplate’ was not found in Type ‘Windows.UI.Xaml.Controls.Combobox’

App_UnhandledException: Failed to create a ‘Windows.UI.Xaml.TextWrapping’ from the text ‘WrapWholeWords’.

After getting these two, I stopped testing and now restoring my Windows 8 Dev VM so that I can actually build the entire Code on Windows 8 and see what actually compiles and what doesn’t.

Why is this happening?

Well first of course it is because I copy pasted XAML from my Win 8.1 app to my Win 8 app. But then question is shouldn’t it be causing build errors? Well, I think so. I’ll know soon enough once I compile the code in Win 8. But the point is, this exact XAML works in Windows 8.1, in the sense when I hit F5 in VS2012, the app complies without error or warning and runs perfectly fine. Which basically means Windows 8.1 WinRT APIs are more forgiving of XAML errors. However, unfortunately for you, this means you CANNOT trust a Windows 8 build of your app created on a Windows 8.1 machine. Yes Yes Yes, I know… I feel like saying it too… but heck… what’s the point!

Essentially there are API leaks (this is my term, maybe it should be called something else, sue me), because of which Windows 8 apps when run on Windows 8.1 will work even with incorrect XAML attributes (or attributes that were not supported in 8.0 but are supported in 8.1).

Update 1 (Feb 9, 2014)

Well, looks like I am not too much of a trouble, so far the only issues reported are as follows:

image

Mind you, these are visible only if the designers are open. The build is otherwise reported as OK. So these will bite your bum at runtime.

Moral of the story?

1. You need a dedicated Windows 8 machine to develop and test a Windows 8 app, don’t depend on a Windows 8.1 machine.

2. Microsoft has more or less abandoned 8.0 from an API stand point, should you really bother about a back-port? Well you decide!

3. (Updated on Feb 9, 2014) You will not face these issues if you are upgrading your App from Windows 8 to Windows 8.1. You have to be careful only when you backport, so as to not use new stuff (which is understandable). So the only thing is play closer attention to Designer errors.

Conclusion

I may have been a little too harsh on MS, but still it’s clear that there is only one XAML engine in Windows 8.1, the one that has all the enhancements for 8.1. So if you mistakenly put some new stuff in Windows 8 App, it will work on 8.1 but fail in Windows 8.

Tagged , ,

Why it is Windows vs. Mobile OS(es) and how OEMs are killing Windows

Sometime back I read an awesome story on how Microsoft turned it’s first OS licensing deal around and owned the PC market right under from IBM’s nose! It was a history of OS/2!

Flashback! In the last 3 years I’ve bought 4-5 laptops for friends/family and on each occasion I have ensured I remove all crapware and set them up with Microsoft Security Essentials/Windows Defender before handing it over. No one has had Virus/Instability or any typical ‘Windows’ issues (couple had hardware failures, yup, the title says it all).

Cut to beginning of the year, I am a friend’s place and he’s cribbing about his Windows 8 laptop bought last year running slowly. Curious, I offer to investigate! True enough, the 8GB Core 3rd Gen i5  laptop is working worse than my 4Gb Win8.1 VM running on Core 2 Duo! I end up spending 2+ hours removing crapware installed by Acer! Couldn’t remove three pieces for crapware because something has finally broken Windows Installer. Thankfully I was able to get rid of FSecure and put Defender back which seemed to have restored most of the laptop’s lost performance.

Let me go out on a limb and say this:

Windows is an awesome operating system!

It is more user friendly and capable than any other consumer OS (and most server OSes too probably), period! Nope, I am not taking arguments, just STFU!

How come you haven’t seen Windows that way, you ask? Well, you probably don’t assemble your own desktop, cleanup a new Laptop before using it the first time, use pristine Windows VMs that don’t have an iota of crapware and are not aware that spinning disks in a laptop can get easily damaged (hard drive crash) if the cheapo OEM who assembled your laptop didn’t build in sufficient shock protection.

But you say, you are just buying a device that’s supposed you work, why should you care about all this? Correct! Very Correct! That’s exactly the point of this article.

OEMs, Decline of Laptop and Desktop sales, and how iOS/Android is the real threat to Windows

Note the heading doesn’t say ‘Decline of PCs’, because PCs mean Personal Computing devices period. The Mac Vs. PC war was a Media war (okay maybe a bit of an ego war between Jobs and Bill) more than anything else. There is no decline in Personal Computing device usage, if anything it’s skyrocketing.

Anyway, in the last decade and half, Personal Computers or Personal Computing devices have become an increasingly important part of life pretty much because of internet and how it has enabled people and made their lives easier. Internet is now a pervasive medium of communication and getting work done. For the ordinary person reason for having a device that connects to internet is to get work done, make life simpler. In the past the ‘simplest’ device has been a PC. First it was hulking desktops, then it was hulking laptops till Apple threw a spanner in the works with the iPhone. From my own experience I was spellbound by what the iPhone could do when I bought the 3GS on launch day (yes I queued up for it)!

Anyway, back to the discussion, for the person on the street, Operating System is means to an end, in fact, the ‘device’ on which the OS runs is in fact the means to an end. As long as the device can do what the person on the street wants, they couldn’t care less. In the past the lowest common denominator was the cheapest Desktop or Laptop around, that happened to run a flavor of Windows. They would use it till it stopped working and then buy another one. The problem with ‘lowest common denominator’ approach was, OEMs cobbled together devices with nary a thought about the ‘experience’. Essentially Microsoft and OEMs were running on parallel tracks and meeting only on ‘stations’ where MS would hand over a new version of it’s OS and be on its way! It was a great way to drive down costs, increase market presence and make personal computing devices affordable. But for the person on the street a desktop/laptop was something they would use when they only HAD to, not because they wanted to.

Microsoft, unfortunately due to it’s history, overlooked this. It was busy wearing “90% desktop OS ownership” blinkers to notice that the person on street didn’t care about a hulking laptop as their goto ‘personal computing’ device when 70% of what they wanted could be done on their mobile devices. So when the common man, the end users, the person on street, shifted their computing allegiances from their hulking laptops to sleek black slabs that could be carried in pockets, what did MS think?

Hey we need to make an OPERATING SYSTEM for those black slabs!!!!

All wasn’t lost at that point if MS had continued with a razor sharp focus on besting the ‘sleek black slab’ OS. But no, it wanted to boil the oceans! Pffftttt… when the world isn’t sure it wants 3 competing mobile eco systems, MS went out and built 3 F*ING OSes of their own!!! Thus Windows RT, Windows Phone 8 and Windows 8 Desktop were born!!! Thank you Microsoft, but you forgot the person on the street! They couldn’t give a rats ass about how many OSes you have if it doesn’t get the work done!

Along with the person on street, MS kicked a sizable chunk of the developer community in the nuts too. But again, ‘blinkers mode’ was still on so who cares if a few developers crib.

Windows OS, is it down to the last roll of the dice?

Earlier this month @JayKannan tweeted this:

Before that @sacca tweeted the same image as follows

I responded to Jay saying

If you read it in context of the beginning of this article you’ll get the fact that I am terribly pissed at what OEMs are dishing out and Windows taking all the blame. The latest CES is a disaster for Windows according to me. If OEM keep coming out with bullshit like Android/Windows hybrid, it’s curtains for Windows.

Anyway, we got into a good natured banter on Twitter on how MS has lost so much time in misdirected efforts like building Windows RT ground up, releasing the botch-up abomination called WinRT (APIs) and the time it’s now losing to merge that into Windows Phone OS! Whether WP will be rolled into Windows RT or RT will subset of WP is not the question, the time lost in this bickering is sickeningly familiar to the OS/2 story and how IBM lost the entire PC market and eventually sold it off to Lenovo!!!

Eitherways, a few more people joined our conversation and we argued for a bit on Windows and it’s place in the universe in the future. Twitter is an awfully hackneyed medium for presenting your complete thoughts, so I took a break from it and wrote this blog down.

To sum up, from a Developer AND person on the street perspective, the following is what I think MS can do to showcase Windows and hope it stays relevant:

  1. Produce reference devices like Surface across the spectrum: All in ones, Laptops, Tablets and Phones. They have to showcase what Windows can do, not how OEMs can butcher the experience!
  2. Separate Windows out into Consumer and Pro.

      Consumer == Windows RT, kill the desktop there and get a Metro Office out of the door ASAP! Pull up all the Metro/Modern apps to the feature parity with their desktop counterparts like Mail/Picture/Skype/Browser. Don’t sell Windows RT laptops, instead sell it as a Tablet OS, Keyboards for tablets are an afterthought and lastly Consumer devices sell cheap! Really cheap!

      Pro == Windows 8.1++ without Modern Apps getting in the way. I personally hate running Modern apps windowed as one third part enables today so that’s NOT the way I would like to see Modern apps go. But Modern Apps could adopt OSX’s approach of fullscreen where fullscreen is a separate virtual desktop. Make the Modern App Start screen into an App Launcher instead! Keep the desktop front and center for all the so called ‘power users’.

      Find a way to bring in Windows App Isolation model into legacy apps.

      Build for touch but don’t expect touch.

    1. Most Important: Stop re-inventing the API Wheel! Lock down on a kernel design and API (stop F*ING around with separate WinRT/WP/.NET/C++/WinJS bullshit). I don’t care about syntactic sugar – Give developers a COMPLETE .Net API that helps them showcase your OS in the best light!!! Your OSes App Ecosystem will decide it’s relevance, if you make it difficult to build apps then you are doomed!

    Why making Windows XP obsolete won’t pull up Windows numbers

    Last but not least, if Microsoft thinks making Windows XP obsolete is going to automatically bump up Windows 8 numbers, that’s false. Large corporates are already considering Linux/Windows 7 and non-Windows devices for current users of XP. In other words they are using XP for a reason – They couldn’t care less about the OS! They will move to a device that is better/easier to use. If one of the incarnations of Windows doesn’t seem right, it will be discarded! Rest of the XP numbers are probably pirated copies and will vanish from the blimp once those devices die.

    Conclusion

    I have put a lot of money on Windows 8 devices/eco system and their success, so I am not writing this as a detractor or a hater. I would love for the Windows 8/Modern App ecosystem to flourish. For that to happen lots of things have to change and that makes me jittery, because change takes time and Windows has just about run out of all the time it had!!! I am afraid Windows 9 might not be in ‘good time’ and other Mobile OSes will be too far ahead by then and Windows will be delegated to Back offices, Server Rooms much like how Linux WAS till it was reborn as Android!!!

    Tagged , ,

    Naming Assets in your Windows 8 Store App

    I just spent a few lazy minutes looking up what it takes to name assets (images) for appropriate scaling, and since I didn’t find the correct keyword to look it up in one go, writing this down to bookmark it for myself.

    It’s a good idea to provide an independent images for your Windows 8 Store App, each for the appropriate scale factor. Well you don’t have to and if you only provide the Scale 100 images Windows will upscale it for you, but it won’t be pretty. With the Surface 2 going Full HD you have all the more reason to provide all the necessary scale factor images so your app looks the sharpest everywhere.

    image

    Now the endeavor is not for the faint hearted, you will end up requiring about 25 different images. However there is an easy way to name them such that they get picked up automatically for each scale and you don’t have to go assigning them independently.

    For example if you are setting up assets for Splash screen you can name them as follows:

    image

    And once you assign the scale-100 image, the rest will get picked up automatically.

    Mind you if you have just one image, you can name it anything and assign it to the mandatory Scale 100 resource. However if you put in a scale-xxx image, you have to rename your Scale 100 resource to say scale-100 explicitly.

    Well, that was a small naming convention thingy that I knew existed but forgot what it was exactly. Now I’ve got it written down, shouldn’t forget it ever now Smile.

    Tagged , , ,

    Solved: Windows 8 does not recognize DLNA Media Servers

    Previously I have blogged about how I converted my Raspberry Pi into a DLNA Media Server. When we moved to UK I brought along my media server and it was up in a jiffy. However, yesterday, when I sat down to build my long pending Windows 8 Media Client on my rebuilt Windows 8 VM, it simply wouldn’t show the MediaPi (name of my Media Server) when I selected ‘Computer’ in Windows Explorer.

    image

    But if you see, the machine was on the Network (RASPBERRYPI). Why is this important?

    Well, the WinRT API to retrieve all the Media Servers on the Network is as follows

    await KnownFolders.MediaServerDevices.GetFoldersAsync();

    If Windows Explorer is not showing the Media server, the above API will not return it either.

    Twist in the tale was that the Media server was visible when I selected the ‘Network’ node in Explorer.

    image

    To make things more confusing, when I started Windows Media Explorer, the MediaPI came up there too.

    image

    This kind of scenario is pretty much a disaster because it’s nearly impossible to search for. So first I posted in on Windows Forum, but continued fiddling around. Finally I found a solution.

    The Solution

    1. I brought up the Settings Charm and click the ‘Change PC Settings’

    image

    2. When I selected ‘Devices’ and I saw MediaPi but it had an ‘offline’ label. So I selected it and clicked on the (-) icon on the top right corner. This removed the Device.

    image

    3. Next I started Windows Explorer again and Clicked on ‘Access media’->’Connect to a media server’.

    image

    4. Windows found the MediaPi device and listed it in the Search Dialog. I selected it and clicked ‘Next’, Windows said it’s installing the ‘Required Files’ and once it was done, I could see the Media Server again.

    image

    Sweet! Done there!

    I put the same solution back in Forum question as well.

    Tagged , ,
    %d bloggers like this: