Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

Pete Brown's Blog (POKE 53280,0)

Pete Brown writes on a variety of topics from XAML with the Windows Runtime (WinRT), .NET programming using C#, WPF, Silverlight, XNA, and Windows Phone, Microcontroller programming with .NET Microframework, .NET Gadgeteer and even plain old C, to raising two children in the suburbs of Maryland, woodworking, CNC and generally "making physical stuff". Oh, and Pete loves retro technology, especially Commodore (C64 and C128). If the content interests you, please subscribe using the subscription link to the right of every page.

  • TechEd India, the India developer communities, and the Taj Mahal

    In the second half of March, I traveled to India (Bangalore, Delhi, and Pune) to speak at TechEd India and TechDays Delhi about Windows 8 app development. I flew from Dulles International in VA to Charles De Gaulle in France, where I met up with my colleague Nisha Singh, who had flown from Seattle. From there, we flew Air France to Bangalore for TechEd India Bangalore, then hopped a Jet Air...

  • Maker Geek Roundup 018 for 3/12/2013

    The Maker Geek Roundup aggregates information of interest to makers everywhere. Topics include .NET Micro Framework, Arduino, AVR and other MCUs, CNC, 3d Printing, Robotics, Microsoft Robotics Studio, Electronics, General Maker stuff, and more. If you have something interesting you've done or have run across, or you blog regularly on the topics included here, please send me the URL and ...

  • Disney Fairies: The evolution of hub screen box layout in Windows Store apps

    A large number of apps in the Windows Store follow the "bunch of boxes in a GridView" approach to the hub screen. This can work in some cases, but I encourage developers and designers to move beyond that look, and consider either evolutions of it, or completely different approaches. Boxes 1.0 For many, the basic box layout is a very workable layout. Here's one of my essential app...

  • Do you really know what your kids are doing online and in games?

    It seems that each generation is exposed to more mature or serious situations at earlier ages than the one before it. There are a lot more ways for kids to get in trouble online than just running afoul of the creepily mustachioed basement dweller you see on "that" episode of Special Victims Unit. tl;dr: A child was banned from Xbox live and that caused me to investigate some things ...

  • Using CallerMemberName for property change notification in XAML apps

    .NET 4.5 quietly introduced several attributes which are useful for debugging and error reporting: CallerMemberName, CallerFilePath and CallerLineNumber, all collectively referred to as "Caller Information". One of those, CallerMemberName, is also very useful for MVVM apps and other apps using INotifyPropertyChanged for change notifications. Getting the calling function name The Cal...

  • Getting more visibility for your Windows Store app Part 1: Create great apps

    Many developers ask me how to get more visibility for their apps in the Windows Store. Most do not realize, that even on the public web, visibility is almost never organic. It's the result of hard work on the part of all involved. In this first post I'll provide some observations as to things that I personally think help increase app visibility, specifically, app quality. In part 2, I'll...

  • Maker Geek Roundup 017 for 1/22/2013

    The Maker Geek Roundup aggregates information of interest to makers everywhere. Topics include .NET Micro Framework, Arduino, AVR and other MCUs, CNC, 3d Printing, Robotics, Microsoft Robotics Studio, Electronics, General Maker stuff, and more. If you have something interesting you've done or have run across, or you blog regularly on the topics included here, please send me the URL and ...

  • Traits of a good Windows Store app privacy policy

    A common cause of Windows Store app certification failures is a missing or insufficient privacy policy. Many don't realize that a network-enabled app must have a policy, or if they do, don't realize exactly what needs to go into it. In this post, I'll talk about some of my observations regarding what makes for a good privacy policy for a Windows Store app. IMPORTANT: This is neither...

  • A simple bitcrusher and sample rate reducer in C++ for a Windows Store App

    I'm working on a Windows 8 synthesizer app using XAudio2 and a C++ + DirectX/XAML Windows Store app for Windows 8. As part of this, I thought it would be fun to add a simple bit crusher effect with included sample rate reducer. The point of this effect is to make samples sound like they came from older machines with lower bitrates and sample depth. To do that, I had to do two things to ...

  • Installing Unsigned Drivers on Windows 8 64 bit (or: how to get STM ST-Link working)

    I recently did some work on my MikroElektronika ARM development board. This was the first time I fired up the board on my Windows 8 system. Everything in the IDE worked fine until I tried to do some deploying and debugging on the board itself. It was then that I realized the board's driver wasn't correctly installed. I looked in the device manager and, sure enough, the board had the lit...

  • A MIDI clock pulse to analog sync voltage converter

    I have a few pieces of analog gear which either don't support MIDI, or simply work better with voltage control. This makes including them in a sequence difficult as timing of arpeggios or sequences will drift away from the rest of the performance. Not to mention that synchronizing them by ear is not a simple task in any case, and impossible to do in real-time if you want to adjust the t...

  • The importance of app submission notes in the Windows Store

    Windows Store apps go through both automated tests and human testing. The automated testing uses a process similar to what you use on the client in the form of the WACK tool. This tool verifies the basics: does it crash? does it have the right images? does it spin up in time? etc. No one likes to waste time by going through the submission and certification process multiple times. Many...

  • A windows 8 trick: Protocol activation of apps (and the nick app)

    I have a four year old girl and an almost seven year old boy. From time to time, my son will play games on the nick jr web site, or watch a video. Nick has a portal-style app for Windows 8. This app provides access to videos and photos, as well as links out to games. Notice how even on my low DPI 30" screen, the tiles are large and everything is nicely scaled on the hub page. I've see...

  • Scaled DPI-aware image assets for Windows 8 Apps in Visual Studio 2012 Update 1

    With the latest update to Visual Studio 2012, the mechanism for specifying and verifying DPI-aware images has just gotten easier. I've written and spoken about automatic DPI-aware image assets in Windows 8 apps in my book Windows 8 XAML in Action, and also at events. Here are the details, but in a nutshell, if you use a specific naming convention for images in your Windows Store app,...

  • Teaching a six (well, almost seven) year old to solder

    As a geek, there are a number of milestones or rites of passage for children: First drawing of any vehicle with more than three guns First original LEGO model First time you figure out how to turn on the Xbox and get into a game without help First time you solder something First program written First cosplay at a geek convention First computer you build from parts ...

  • Generating sound at runtime using XAudio2 in a Windows Store app

    In this post, I'll briefly explain how to generate sound in real time in a Windows Store C++ app using XAudio2. I've always liked messing around with synthesizers. Quite some time ago, I built a simple synthesizer using Silverlight. It was cool, but very processor intensive. All the sound was generated in real time, and was then pushed into buffers which were read by the media pipelin...

  • The update Windows SDK and Windows App Certification Kit tool (now checks branding images)

    A new version of the Windows Software Development Kit for Windows 8 was published last week. A new version of the Windows App Certification Kit (WACK) tool is included as part of this. Installation You can download the Windows 8 SDK from MSDN, here. The installation is simple. I'll include the screenshots here so you can see what's included. Also, I encourage you to enable the Cu...

  • Building quality Windows 8 apps: Important pre-submission checks for your Windows Store apps

    When you get ready to submit your app to the store, you'll run it through the WACK (Windows App Certification Kit) tool. That tool will report to you the most egregious errors, but it doesn't catch everything you'll want to do to finalize your app. In this post, I have a number of suggestions ranging from the most simple to some more interesting system integration ideas. Have you chec...

  • How-to: Name Start Page groups in Windows 8

    By default, your Windows 8 Start Page appears as a base group of standard apps, plus a group of desktop apps (if you upgraded) or Office apps (if Surface with Windows RT). Most of us create a number of additional groups beyond those. Those groups are not named for you automatically. Did you know you could name those groups to make organization easier? Here's how. On the Start Page,...

  • Sometimes coding a solution is faster than finding one: Simple Webcam app in Silverlight 5

    I recently upgraded my main desktop PC to Windows 8. When I did that, the Microsoft LifeCam software stopped working. It was recognized as incompatible with Windows 8. For most people, this is not an issue, as it works perfectly fine with the built-in Windows 8 camera app. For me, however, I need a small camera app sitting on my desktop so I can see the hallway leading to my office. I...

  • Windows 8 on a multi-display desktop PC without a touch screen: the Logitech T650 touch pad

    I recently updated my primary workhorse PC (a 6 core desktop with two 30" displays) from Windows 7 to Windows 8. As part of that, I picked up a Logitech Touchpad T650. This post includes my observations. As a Windows 8 platform evangelist at Microsoft, I'm very familiar with Windows 8, especially in a developer context. So far, I've used it on touch and non-touch laptops (I have a Len...

  • How to Reset your Microsoft Surface (or other Windows 8 PC) to start from scratch

    At Build, the Surfaces used by Jordan Rudess (and later provided to Jordan and his tech Gianluca Trombetta, just like we did with other Build attendees) were set up in advance with local accounts rather than Microsoft accounts. This made it easy for me to have everything ready for when Jordan took the stage. One thing both Jordan and Gianluca needed to do to make the Surfaces their ow...