{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Brian Peek",
  "home_page_url": "https://brianpeek.com/",
  "feed_url": "https://brianpeek.com/feed.json",
  "description": "Software engineer in Microsoft's Xbox Advanced Technology Group. Retro \u0026 modern games, apps \u0026 developer tools, and hardware tinkering as Ganksoft.",
  "language": "en-us",
  "authors": [
    {
      "name": "Brian Peek",
      "url": "https://brianpeek.com/"
    }
  ],
  "items": [
    {
      "id": "https://brianpeek.com/coin-op-and-console-game-promo-tapes/",
      "url": "https://brianpeek.com/coin-op-and-console-game-promo-tapes/",
      "title": "Coin-Op and Console Game Promo Tapes",
      "date_published": "2026-08-11T09:00:00-08:00",
      "date_modified": "2026-08-11T09:00:00-08:00",
      "summary": "I\u0026rsquo;ve had a small stack of gaming promotional VHS tapes sitting in a box for years that I recently digitized and posted on YouTube. Let\u0026rsquo;s take a look\u0026hellip;\nThe Coin-Op Tapes My dad was a coin-op operator. These five Atari Games tapes were sent to him in the late 90s. Atari Games was a Midway subsidiary at that point, the coin-op business was well into its decline, and these were among their last titles. Two or so years later Atari Games was gone.\nSan Francisco Rush: The Rock, Alcatraz Edition (1997) The standalone and upgrade kit for San Francisco Rush: Extreme Racing, adding extra tracks and cars. For an operator, it\u0026rsquo;s showcasing this title as a dedicated cabinet or an upgrade for an existing San Francisco Rush cabinet they might already have on location.\n",
      "content_text": "I\u0026amp;rsquo;ve had a small stack of gaming promotional VHS tapes sitting in a box for years that I recently digitized and posted on YouTube. Let\u0026amp;rsquo;s take a look\u0026amp;hellip;\nThe Coin-Op Tapes My dad was a coin-op operator. These five Atari Games tapes were sent to him in the late 90s. Atari Games was a Midway subsidiary at that point, the coin-op business was well into its decline, and these were among their last titles. Two or so years later Atari Games was gone.\nSan Francisco Rush: The Rock, Alcatraz Edition (1997) The standalone and upgrade kit for San Francisco Rush: Extreme Racing, adding extra tracks and cars. For an operator, it\u0026amp;rsquo;s showcasing this title as a dedicated cabinet or an upgrade for an existing San Francisco Rush cabinet they might already have on location.\nAtari Games Product Demo (1998) The tape is really a three-in-one. It\u0026amp;rsquo;s labeled \u0026amp;ldquo;Atari Games Product Demo,\u0026amp;rdquo; runs five and a half minutes, and is dated 2/3/98. It contains info on California Speed, …",
      "image": "https://brianpeek.com/coin-op-and-console-game-promo-tapes/images/stack.jpg",
      "tags": ["Arcade","Gaming","Preservation"]
    },
    {
      "id": "https://brianpeek.com/gearlynx-debugger/",
      "url": "https://brianpeek.com/gearlynx-debugger/",
      "title": "Source-Level Debugging for the Atari Lynx",
      "date_published": "2026-08-07T09:00:00-07:00",
      "date_modified": "2026-08-07T09:00:00-07:00",
      "summary": "I work on several Atari Lynx projects, mostly with cc65, which compiles C down to 6502 assembly and then into a cartridge image. Emulators help with debugging, but you\u0026rsquo;re looking at assembly, not at the C you wrote.\nSo I built a source-level debugger on top of the Gearlynx emulator. Gearlynx Debugger is a VS Code extension that gives you breakpoints in your C files, real local variables, the call stack, hardware state, and the game running live in a panel next to your code.\nThe Starting Point Gearlynx is Nacho Sánchez Ginés\u0026rsquo;s Lynx emulator, and it\u0026rsquo;s excellent. It already ships a capable debugger with a run-ahead disassembler, CPU and memory breakpoints, a memory editor, and hardware viewers for Mikey and Suzy.\nBut it is a 6502 level debugger. To break on game_handle_input(), you dig its address out of the cc65 map file, type it in, and read disassembly. When you stop, you get registers and raw memory instead of x, y, and gameState.\n",
      "content_text": "I work on several Atari Lynx projects, mostly with cc65, which compiles C down to 6502 assembly and then into a cartridge image. Emulators help with debugging, but you\u0026amp;rsquo;re looking at assembly, not at the C you wrote.\nSo I built a source-level debugger on top of the Gearlynx emulator. Gearlynx Debugger is a VS Code extension that gives you breakpoints in your C files, real local variables, the call stack, hardware state, and the game running live in a panel next to your code.\nThe Starting Point Gearlynx is Nacho Sánchez Ginés\u0026amp;rsquo;s Lynx emulator, and it\u0026amp;rsquo;s excellent. It already ships a capable debugger with a run-ahead disassembler, CPU and memory breakpoints, a memory editor, and hardware viewers for Mikey and Suzy.\nBut it is a 6502 level debugger. To break on game_handle_input(), you dig its address out of the cc65 map file, type it in, and read disassembly. When you stop, you get registers and raw memory instead of x, y, and gameState.\nVS Code already has the other half, …",
      "image": "https://brianpeek.com/gearlynx-debugger/images/glvs-sample.png",
      "tags": ["Atari Lynx","GameDev","Ganksoft","Gaming"]
    },
    {
      "id": "https://brianpeek.com/nanopad-an-ai-experiment/",
      "url": "https://brianpeek.com/nanopad-an-ai-experiment/",
      "title": "Nanopad - An AI Experiment",
      "date_published": "2026-03-22T14:49:39-07:00",
      "date_modified": "2026-03-22T14:49:39-07:00",
      "summary": "Have you heard about this AI thing? I know it doesn\u0026rsquo;t get much press and hardly anyone is talking about it. So, what better way to give it some more attention than to write an article about it for my blog that hasn\u0026rsquo;t been updated in 8 years?\nLet\u0026rsquo;s begin.\nThe Experiment I wanted to try building a full Windows application using AI as my coding partner. Since Notepad gets more and more bloated and more and more filled with AI, how about turning the tables and using AI to build a no-bloat Notepad replacement?\nThe result is nanopad, a Notepad replacement in pure Win32 C++ with no installer or runtime dependencies.\nDark Light What I Was Going For Pure Notepad, but with some modern conveniences. Altogther, that means:\nFull dark mode that follows the system theme Per-monitor DPI scaling Portable settings (INI file next to the EXE, no registry) System integration (Replace Notepad, Open With, context menu) Font selection Encoding detection (UTF-8, UTF-16, ANSI) Find \u0026amp; Replace, Print, Word Wrap, Go To Line The Stack Language: Modern C++ UI: Win32 API only - CreateWindowExW, WndProc, message loop Edit control: Standard multiline EDIT class (same one original Notepad uses) Build: Visual Studio 2022+, MSBuild, v143 toolset CI/CD: GitHub Actions - builds on push, version-stamped releases on tag Dark mode: Undocumented Windows APIs (more on this below) This ends up being about 3,000 lines of C++ across 12 source files.\n",
      "content_text": "Have you heard about this AI thing? I know it doesn\u0026amp;rsquo;t get much press and hardly anyone is talking about it. So, what better way to give it some more attention than to write an article about it for my blog that hasn\u0026amp;rsquo;t been updated in 8 years?\nLet\u0026amp;rsquo;s begin.\nThe Experiment I wanted to try building a full Windows application using AI as my coding partner. Since Notepad gets more and more bloated and more and more filled with AI, how about turning the tables and using AI to build a no-bloat Notepad replacement?\nThe result is nanopad, a Notepad replacement in pure Win32 C++ with no installer or runtime dependencies.\nDark Light What I Was Going For Pure Notepad, but with some modern conveniences. Altogther, that means:\nFull dark mode that follows the system theme Per-monitor DPI scaling Portable settings (INI file next to the EXE, no registry) System integration (Replace Notepad, Open With, context menu) Font selection Encoding detection (UTF-8, UTF-16, ANSI) Find \u0026amp;amp; …",
      "image": "https://brianpeek.com/nanopad-an-ai-experiment/images/dark.png",
      "tags": ["AI","nanopad","Windows"]
    },
    {
      "id": "https://brianpeek.com/build-2018-gamedev-goodness/",
      "url": "https://brianpeek.com/build-2018-gamedev-goodness/",
      "title": "Build 2018 - GameDev Goodness",
      "date_published": "2018-05-13T20:00:00+00:00",
      "date_modified": "2018-05-13T20:00:00+00:00",
      "summary": "At this year\u0026rsquo;s Build conference, Dimitris Gkanatsios and I presented two sessions on game development and the cloud. The first demonstrates how one might use Azure Container Instances to automatically scale a multiplayer backend. The second is a demo on using Unity with Azure services like Computer Vision and Cosmos DB along with PlayFab for things like authentication and leaderboards. You can find the videos below along with some links to each project.\nACI Project on GitHub Scavenger on GitHub All Build 2018 Videos Azure GameDev Sandbox ",
      "content_text": "At this year\u0026amp;rsquo;s Build conference, Dimitris Gkanatsios and I presented two sessions on game development and the cloud. The first demonstrates how one might use Azure Container Instances to automatically scale a multiplayer backend. The second is a demo on using Unity with Azure services like Computer Vision and Cosmos DB along with PlayFab for things like authentication and leaderboards. You can find the videos below along with some links to each project.\nACI Project on GitHub Scavenger on GitHub All Build 2018 Videos Azure GameDev Sandbox ",
      "image": "https://brianpeek.com/build-2018-gamedev-goodness/og.png",
      "tags": ["GameDev","Azure","Unity"]
    },
    {
      "id": "https://brianpeek.com/gdc-2018-multiplayer-server-scaling-with-azure-container-instances/",
      "url": "https://brianpeek.com/gdc-2018-multiplayer-server-scaling-with-azure-container-instances/",
      "title": "GDC 2018 - Multiplayer Server Scaling with Azure Container Instances",
      "date_published": "2018-03-31T17:37:00+00:00",
      "date_modified": "2018-03-31T17:37:00+00:00",
      "summary": "At GDC this year, I presented a session on scaling multiplayer backends using Azure Container Instances, Event Grid, and Azure Functions. An enormous thanks goes to Dimitris Gkanatsios who wrote 99% of this. You can find the video below, but here are some additional links:\nGitHub project Additional GDC18 Videos Azure GameDev Sandbox ",
      "content_text": "At GDC this year, I presented a session on scaling multiplayer backends using Azure Container Instances, Event Grid, and Azure Functions. An enormous thanks goes to Dimitris Gkanatsios who wrote 99% of this. You can find the video below, but here are some additional links:\nGitHub project Additional GDC18 Videos Azure GameDev Sandbox ",
      "image": "https://brianpeek.com/gdc-2018-multiplayer-server-scaling-with-azure-container-instances/og.png",
      "tags": ["GameDev","Azure"]
    },
    {
      "id": "https://brianpeek.com/migrating-blogengine-net-comments-to-disqus/",
      "url": "https://brianpeek.com/migrating-blogengine-net-comments-to-disqus/",
      "title": "Migrating BlogEngine.NET Comments to Disqus and Ghost",
      "date_published": "2017-05-17T18:23:55+00:00",
      "date_modified": "2017-05-17T18:23:55+00:00",
      "summary": " NOTE: Old content, this site now runs on Hugo.\nBy default, Ghost does not have a commenting system of its own. When migrating my blog from BlogEngine.NET, I wanted to carry over old comments and maintain the commenting feature. Disqus to the rescue!\nMigrating Old Comments First, you\u0026rsquo;ll need to create an account at Disqus and select the \u0026ldquo;I want to install Disqus on my site\u0026rdquo; option. From here, you\u0026rsquo;ll walk through a wizard where you\u0026rsquo;ll give the website name, URL and other bits of information. Sign up with the Basic (free!) option.\nNext, you\u0026rsquo;ll need to use that BlogML.xml file you created in the previous post and run it through a utility to convert it into a format that can be imported into Disqus.\nHead over to GitHub to download and compile the BlogML2WP project, or download my precompiled version. Then, run the program like this:\nBlogML2WP [inputfile] [domain] So, for my site, it\u0026rsquo;d look like this:\n",
      "content_text": " NOTE: Old content, this site now runs on Hugo.\nBy default, Ghost does not have a commenting system of its own. When migrating my blog from BlogEngine.NET, I wanted to carry over old comments and maintain the commenting feature. Disqus to the rescue!\nMigrating Old Comments First, you\u0026amp;rsquo;ll need to create an account at Disqus and select the \u0026amp;ldquo;I want to install Disqus on my site\u0026amp;rdquo; option. From here, you\u0026amp;rsquo;ll walk through a wizard where you\u0026amp;rsquo;ll give the website name, URL and other bits of information. Sign up with the Basic (free!) option.\nNext, you\u0026amp;rsquo;ll need to use that BlogML.xml file you created in the previous post and run it through a utility to convert it into a format that can be imported into Disqus.\nHead over to GitHub to download and compile the BlogML2WP project, or download my precompiled version. Then, run the program like this:\nBlogML2WP [inputfile] [domain] So, for my site, it\u0026amp;rsquo;d look like this:\nBlogML2WP BlogML.xml / This will create a new …",
      "image": "https://brianpeek.com/migrating-blogengine-net-comments-to-disqus/og.png",
      "tags": ["Ghost","BlogEngine"]
    },
    {
      "id": "https://brianpeek.com/migrating-blogengine-net-to-ghost/",
      "url": "https://brianpeek.com/migrating-blogengine-net-to-ghost/",
      "title": "Migrating BlogEngine.NET to Ghost",
      "date_published": "2017-05-03T01:36:50+00:00",
      "date_modified": "2017-05-03T01:36:50+00:00",
      "summary": " NOTE: Old content, this site now runs on Hugo.\nAs mentioned previously, I recently migrated my blog to Ghost from BlogEngine.NET. I\u0026rsquo;ll be writing a few posts discussing what I went through in the migration process.\nInstalling Ghost on Azure I run my life on Azure. Previously, my BlogEngine instance was running as an App Service, so getting Ghost running on Azure was important to me. Luckily, Felix Rieseberg has already done all of the hard work for this step.\nHead over to Felix\u0026rsquo;s Ghost-Azure repo on GitHub and click the big blue Deploy to Azure button. The deployment scrip will run, and you\u0026rsquo;ll be asked to log into your Azure account and fill out a form with your new site\u0026rsquo;s information (subscription, resource group, site name, etc.). When you complete this step, a new Ghost instance will be deployed to the location you requested. Simple!\nBe sure to note the instructions on setting this up on a Basic (or higher) App Service Plan, then backing down to a Free/Shared plan if desired. This gets past a limitation where NPM requires more resources than a Free/Shared plan will give.\n",
      "content_text": " NOTE: Old content, this site now runs on Hugo.\nAs mentioned previously, I recently migrated my blog to Ghost from BlogEngine.NET. I\u0026amp;rsquo;ll be writing a few posts discussing what I went through in the migration process.\nInstalling Ghost on Azure I run my life on Azure. Previously, my BlogEngine instance was running as an App Service, so getting Ghost running on Azure was important to me. Luckily, Felix Rieseberg has already done all of the hard work for this step.\nHead over to Felix\u0026amp;rsquo;s Ghost-Azure repo on GitHub and click the big blue Deploy to Azure button. The deployment scrip will run, and you\u0026amp;rsquo;ll be asked to log into your Azure account and fill out a form with your new site\u0026amp;rsquo;s information (subscription, resource group, site name, etc.). When you complete this step, a new Ghost instance will be deployed to the location you requested. Simple!\nBe sure to note the instructions on setting this up on a Basic (or higher) App Service Plan, then backing down to a …",
      "image": "https://brianpeek.com/migrating-blogengine-net-to-ghost/og.png",
      "tags": ["Ghost","Azure","BlogEngine"]
    },
    {
      "id": "https://brianpeek.com/new-blog-ghost/",
      "url": "https://brianpeek.com/new-blog-ghost/",
      "title": "New Blog - Ghost",
      "date_published": "2017-04-27T18:06:14+00:00",
      "date_modified": "2017-04-27T18:06:14+00:00",
      "summary": " NOTE: Old content, this site now runs on Hugo.\nI don\u0026rsquo;t blog very regularly, it seems, so in an effort to get back on the bandwagon, I decided to migrate my blog from BlogEngine.NET to Ghost, since that\u0026rsquo;s what much of the world has moved to. If you are seeing this post, apparently I was successful.\nWhile getting Ghost itself deployed and running on Azure was super simple, migrating my old posts, comments, images, links, and other data to the Ghost platform was a pretty involved process. I learned a ton, which I\u0026rsquo;ll be writing about here in future posts.\nFor those that follow this blog for my GameDev Newsletter posts, I have moved those to the GameDev News link above instead of spamming the regular feed. I absolutely plan on continuing the newsletter, so look for it there.\nOther than that, if you see anything completely busted, please leave a comment or ping me on Twitter. Thanks!\n",
      "content_text": " NOTE: Old content, this site now runs on Hugo.\nI don\u0026amp;rsquo;t blog very regularly, it seems, so in an effort to get back on the bandwagon, I decided to migrate my blog from BlogEngine.NET to Ghost, since that\u0026amp;rsquo;s what much of the world has moved to. If you are seeing this post, apparently I was successful.\nWhile getting Ghost itself deployed and running on Azure was super simple, migrating my old posts, comments, images, links, and other data to the Ghost platform was a pretty involved process. I learned a ton, which I\u0026amp;rsquo;ll be writing about here in future posts.\nFor those that follow this blog for my GameDev Newsletter posts, I have moved those to the GameDev News link above instead of spamming the regular feed. I absolutely plan on continuing the newsletter, so look for it there.\nOther than that, if you see anything completely busted, please leave a comment or ping me on Twitter. Thanks!\n",
      "image": "https://brianpeek.com/new-blog-ghost/og.png",
      "tags": ["Ghost","Azure"]
    },
    {
      "id": "https://brianpeek.com/dreamcast-gamedev-with-kos-and-wsl/",
      "url": "https://brianpeek.com/dreamcast-gamedev-with-kos-and-wsl/",
      "title": "Dreamcast GameDev with KOS and WSL",
      "date_published": "2016-08-01T10:00:00+00:00",
      "date_modified": "2016-08-01T10:00:00+00:00",
      "summary": "Many years ago, an open-source Sega Dreamcast SDK known as KallistiOS (KOS) was created and is still being developed today. I used this SDK long ago to create a few emulators that were published, and a variety of unfinished games that were not\u0026hellip;\nKOS is easy to get up and running on a variety of platforms, but on Windows this always required setting up Cygwin. But, with the addition of the Windows Subsystem for Linux (WSL) in Windows 10, one can now run Ubuntu and the Bash shell natively in Windows 10, and that means one can easily setup KOS, the SH4 toolchain and (almost) everything else required to develop and deploy apps to a Sega Dreamcast. Here\u0026rsquo;s how…\nRequirements A Sega Dreamcast capable of booting MIL-CDs\u0026hellip;this is any machine manufactured prior to October 2000. A Dreamcast Broadband Adapter (HIT-0300 or HIT-0400 both work) The Dreamcast plugged into your network via Ethernet The Linux Subsystem for Windows installed and configured Updating LXSS Make sure you upgrade the subsystem by issuing these two commands:\n",
      "content_text": "Many years ago, an open-source Sega Dreamcast SDK known as KallistiOS (KOS) was created and is still being developed today. I used this SDK long ago to create a few emulators that were published, and a variety of unfinished games that were not\u0026amp;hellip;\nKOS is easy to get up and running on a variety of platforms, but on Windows this always required setting up Cygwin. But, with the addition of the Windows Subsystem for Linux (WSL) in Windows 10, one can now run Ubuntu and the Bash shell natively in Windows 10, and that means one can easily setup KOS, the SH4 toolchain and (almost) everything else required to develop and deploy apps to a Sega Dreamcast. Here\u0026amp;rsquo;s how…\nRequirements A Sega Dreamcast capable of booting MIL-CDs\u0026amp;hellip;this is any machine manufactured prior to October 2000. A Dreamcast Broadband Adapter (HIT-0300 or HIT-0400 both work) The Dreamcast plugged into your network via Ethernet The Linux Subsystem for Windows installed and configured Updating LXSS Make sure you …",
      "image": "https://brianpeek.com/dreamcast-gamedev-with-kos-and-wsl/og.png",
      "tags": ["Dreamcast","GameDev","Gaming","Windows"]
    },
    {
      "id": "https://brianpeek.com/game-developers-get-the-most-out-of-windows-10/",
      "url": "https://brianpeek.com/game-developers-get-the-most-out-of-windows-10/",
      "title": "Game Developers: Get the Most Out of Windows 10",
      "date_published": "2015-05-13T21:53:04+00:00",
      "date_modified": "2015-05-13T21:53:04+00:00",
      "summary": "I had the opportunity to co-present a session at Build 2015 focusing on building games for Windows 10. Jaime Rodriguez and I spent an hour talking about the new Windows 10 features related to gaming, including Xbox Live, ID@Xbox, the new GamePad API, windowing, and the various middlewares and engines like MonoGame and Marmalade that are supporting Windows 10 at present. If you care about games and are excited about Windows 10, have a look!\n",
      "content_text": "I had the opportunity to co-present a session at Build 2015 focusing on building games for Windows 10. Jaime Rodriguez and I spent an hour talking about the new Windows 10 features related to gaming, including Xbox Live, ID@Xbox, the new GamePad API, windowing, and the various middlewares and engines like MonoGame and Marmalade that are supporting Windows 10 at present. If you care about games and are excited about Windows 10, have a look!\n",
      "image": "https://brianpeek.com/game-developers-get-the-most-out-of-windows-10/og.png",
      "tags": ["Build 2015","Events","Gaming"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-las-vegas-2015/",
      "url": "https://brianpeek.com/visual-studio-live-las-vegas-2015/",
      "title": "Visual Studio Live! - Las Vegas 2015",
      "date_published": "2015-01-27T14:31:48+00:00",
      "date_modified": "2015-01-27T14:31:48+00:00",
      "summary": "It’s that time again…another Visual Studio Live! I will be presenting 2 sessions at Visual Studio Live! in Las Vegas this March 16-20. The conference is a full 5 day event and there’s still time to register. For this event, I’ll be presenting:\nW23 Building Games for Windows and Windows Phone Using Unity and Other Frameworks\nDate: Wednesday, March 18, 2015\nTime: 3:00pm – 4:15pm\nLevel: Introductory\nThere are a variety of platforms and frameworks which can be used to build games on both Windows and Windows Phone depending on the complexity of the game and the developer\u0026rsquo;s skill level. In this session, we will delve into the many options available to developers, including DirectX, Unity, MonoGame, and more!\nVSH10 Building Your First Universal Application for Windows Phone and Windows Store\nDate: Wednesday, March 18, 2015\nTime: 1:30pm - 2:45pm\nLevel: Introductory\nUniversal Apps enable developers to build apps for Windows Store and Windows Phone simultaneously while sharing code, controls, and other assets between them. In this session, you will learn how Universal Apps work as we build a simple app from start to finish using this new project type. We will cover what can and can\u0026rsquo;t be shared, and how to best structure your project for maximum re-use.\n",
      "content_text": "It’s that time again…another Visual Studio Live! I will be presenting 2 sessions at Visual Studio Live! in Las Vegas this March 16-20. The conference is a full 5 day event and there’s still time to register. For this event, I’ll be presenting:\nW23 Building Games for Windows and Windows Phone Using Unity and Other Frameworks\nDate: Wednesday, March 18, 2015\nTime: 3:00pm – 4:15pm\nLevel: Introductory\nThere are a variety of platforms and frameworks which can be used to build games on both Windows and Windows Phone depending on the complexity of the game and the developer\u0026amp;rsquo;s skill level. In this session, we will delve into the many options available to developers, including DirectX, Unity, MonoGame, and more!\nVSH10 Building Your First Universal Application for Windows Phone and Windows Store\nDate: Wednesday, March 18, 2015\nTime: 1:30pm - 2:45pm\nLevel: Introductory\nUniversal Apps enable developers to build apps for Windows Store and Windows Phone simultaneously while sharing code, …",
      "image": "https://brianpeek.com/visual-studio-live-las-vegas-2015/og.png",
      "tags": ["Events","Gaming","VSLive","Windows","Windows Phone"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-orlando-2014/",
      "url": "https://brianpeek.com/visual-studio-live-orlando-2014/",
      "title": "Visual Studio Live! - Orlando 2014",
      "date_published": "2014-10-13T23:13:44+00:00",
      "date_modified": "2014-10-13T23:13:44+00:00",
      "summary": "I will be presenting 3 sessions at Visual Studio Live! in Orlando this November 17-21. The conference is a full 5 day event, and part of the Live! 360 conference, covering SharePoint, SQL Server, Modern Apps and more. Plus, there’s still time to register and save $600 if you register before 10/15/14! For this event, I’ll be presenting:\nVSH03 Games Development with Unity and Other Frameworks for Windows and Windows Phone\nDate: Thursday, November 20, 2014\nTime: 8:00am – 9:15pm\nLevel: Introductory\nThere are a variety of platforms and frameworks which can be used to build games on both Windows and Windows Phone depending on the complexity of the game and the developer\u0026rsquo;s skill level. In this session, we will delve into the many options available to developers, including DirectX, Unity, MonoGame, and more!\nVSH08 Writing Asynchronous Code using .NET 4.5 and C# 5.0\nDate: Thursday, November 20, 2014\nTime: 9:30am – 10:45pm\nLevel: Introductory\n",
      "content_text": "I will be presenting 3 sessions at Visual Studio Live! in Orlando this November 17-21. The conference is a full 5 day event, and part of the Live! 360 conference, covering SharePoint, SQL Server, Modern Apps and more. Plus, there’s still time to register and save $600 if you register before 10/15/14! For this event, I’ll be presenting:\nVSH03 Games Development with Unity and Other Frameworks for Windows and Windows Phone\nDate: Thursday, November 20, 2014\nTime: 8:00am – 9:15pm\nLevel: Introductory\nThere are a variety of platforms and frameworks which can be used to build games on both Windows and Windows Phone depending on the complexity of the game and the developer\u0026amp;rsquo;s skill level. In this session, we will delve into the many options available to developers, including DirectX, Unity, MonoGame, and more!\nVSH08 Writing Asynchronous Code using .NET 4.5 and C# 5.0\nDate: Thursday, November 20, 2014\nTime: 9:30am – 10:45pm\nLevel: Introductory\nA variety of new features were added to the …",
      "image": "https://brianpeek.com/visual-studio-live-orlando-2014/og.png",
      "tags": ["Async","Events","Gaming","VSLive","Windows","Windows Phone"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-washington-dc-2014/",
      "url": "https://brianpeek.com/visual-studio-live-washington-dc-2014/",
      "title": "Visual Studio Live! – Washington DC 2014",
      "date_published": "2014-09-08T13:43:58+00:00",
      "date_modified": "2014-09-08T13:43:58+00:00",
      "summary": "I will be presenting 2 sessions at Visual Studio Live! in Washington DC this October 6-9. The conference is a full 4 day event and there’s still time to register and save $400 if you register before 9/10/14! For this event, I’ll be presenting:\nTH07 Building Your First Windows Phone 8.1 Application\nDate: Thursday, October 9, 2014\nTime: 9:30am – 10:45pm\nLevel: Introductory\nExpand your mobile horizons with Windows Phone! Developing applications for the phone is quite similar to building XAML applications for other platforms. In this session, Brian will demonstrate the fundamentals of Windows Phone development while building a very simple application which covers all of the important points of the new platform\u0026rsquo;s architecture, including the developer tools, device emulator and touch input. We will also discuss what\u0026rsquo;s new with the Windows Phone 8.1 update and how you can use it to build better apps.\nTH11 Building Games for Windows and Windows Phone\nDate: Thursday, October 9, 2014\nTime: 11:00am – 12:15pm\nLevel: Introductory\n",
      "content_text": "I will be presenting 2 sessions at Visual Studio Live! in Washington DC this October 6-9. The conference is a full 4 day event and there’s still time to register and save $400 if you register before 9/10/14! For this event, I’ll be presenting:\nTH07 Building Your First Windows Phone 8.1 Application\nDate: Thursday, October 9, 2014\nTime: 9:30am – 10:45pm\nLevel: Introductory\nExpand your mobile horizons with Windows Phone! Developing applications for the phone is quite similar to building XAML applications for other platforms. In this session, Brian will demonstrate the fundamentals of Windows Phone development while building a very simple application which covers all of the important points of the new platform\u0026amp;rsquo;s architecture, including the developer tools, device emulator and touch input. We will also discuss what\u0026amp;rsquo;s new with the Windows Phone 8.1 update and how you can use it to build better apps.\nTH11 Building Games for Windows and Windows Phone\nDate: Thursday, October 9, 2014 …",
      "image": "https://brianpeek.com/visual-studio-live-washington-dc-2014/og.png",
      "tags": ["Events","Gaming","VSLive","Windows Phone","Windows Runtime"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-redmond-2014/",
      "url": "https://brianpeek.com/visual-studio-live-redmond-2014/",
      "title": "Visual Studio Live! – Redmond 2014",
      "date_published": "2014-05-27T21:03:30+00:00",
      "date_modified": "2014-05-27T21:03:30+00:00",
      "summary": "I will be presenting 2 sessions at Visual Studio Live! in Redmond this August 18-22. The conference is a full 4 day event and there’s still time to register and save $500 if you register before 6/11/14! For this event, I’ll be presenting:\nTH15 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Thursday, August 22, 2014\nTime: 11:00am – 12:15pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store applications. In this session, we will take a detailed look at all of the tools that the Performance and Diagnostics Hub has to offer with both XAML and HTML/JavaScript Windows Store apps.\nTH25 Writing Asynchronous Code Using .NET 4.5 and C# 5.0\nDate: Thursday, August 22, 2014\nTime: 3:45pm – 5:00pm\nLevel: Introductory\nA variety of new features were added to the .NET 4.5 Framework, including support for easily writing asynchronous code. This session will introduce the concepts of asynchronous programming, .NET Tasks, how to ensure your UI remains responsive, and how to do all of this properly in your own applications using the new \u0026ldquo;async\u0026quot; and \u0026ldquo;await\u0026quot; keywords. If you\u0026rsquo;re looking for ways to provide a better, smoother experience for your users, don\u0026rsquo;t miss this session!\n",
      "content_text": "I will be presenting 2 sessions at Visual Studio Live! in Redmond this August 18-22. The conference is a full 4 day event and there’s still time to register and save $500 if you register before 6/11/14! For this event, I’ll be presenting:\nTH15 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Thursday, August 22, 2014\nTime: 11:00am – 12:15pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store applications. In this session, we will take a detailed look at all of the tools that the Performance and Diagnostics Hub has to offer with both XAML and HTML/JavaScript Windows Store apps.\nTH25 Writing Asynchronous Code Using .NET 4.5 and C# 5.0\nDate: Thursday, August 22, 2014\nTime: 3:45pm – 5:00pm\nLevel: Introductory\nA variety of new features were added to the .NET 4.5 Framework, including support for easily writing asynchronous code. This session will introduce the …",
      "image": "https://brianpeek.com/visual-studio-live-redmond-2014/og.png",
      "tags": ["Async","Events","Visual Studio","VSLive"]
    },
    {
      "id": "https://brianpeek.com/connect-to-a-bluetooth-device-with-xamarinandroid/",
      "url": "https://brianpeek.com/connect-to-a-bluetooth-device-with-xamarinandroid/",
      "title": "Connect to a Bluetooth Serial Device with Xamarin.Android",
      "date_published": "2014-04-27T08:48:00+00:00",
      "date_modified": "2014-04-27T08:48:00+00:00",
      "summary": "I have been exploring the Xamarin tools recently and decided to try my hand at connecting some Bluetooth hardware to Android for a project that will be released soon. I have learned quite a bit about Bluetooth on Android and decided to write up a short description on how to connect to a Bluetooth serial device via RFCOMM/SPP.\nFirst, grab an instance of the default BluetoothAdapter on the Android device and determine if it is enabled:\nBluetoothAdapter adapter = BluetoothAdapter.DefaultAdapter; if(adapter == null) throw new Exception(\u0026#34;No Bluetooth adapter found.\u0026#34;); if(!adapter.IsEnabled) throw new Exception(\u0026#34;Bluetooth adapter is not enabled.\u0026#34;); Next, get an instance of the BluetoothDevice representing the physical device you’re connecting to. You can get a list of currently paired devices using the adapter’s BondedDevices collection. I use some simple LINQ to find the device I’m looking for:\nBluetoothDevice device = (from bd in adapter.BondedDevices where bd.Name == \u0026#34;NameOfTheDevice\u0026#34; select bd).FirstOrDefault(); if(device == null) throw new Exception(\u0026#34;Named device not found.\u0026#34;); Finally, use the device’s CreateRfCommSocketToServiceRecord method, which will return a BluetoothSocket that can be used for connection and communication. Note that the UUID specified below is the standard UUID for SPP:\n",
      "content_text": "I have been exploring the Xamarin tools recently and decided to try my hand at connecting some Bluetooth hardware to Android for a project that will be released soon. I have learned quite a bit about Bluetooth on Android and decided to write up a short description on how to connect to a Bluetooth serial device via RFCOMM/SPP.\nFirst, grab an instance of the default BluetoothAdapter on the Android device and determine if it is enabled:\nBluetoothAdapter adapter = BluetoothAdapter.DefaultAdapter; if(adapter == null) throw new Exception(\u0026amp;#34;No Bluetooth adapter found.\u0026amp;#34;); if(!adapter.IsEnabled) throw new Exception(\u0026amp;#34;Bluetooth adapter is not enabled.\u0026amp;#34;); Next, get an instance of the BluetoothDevice representing the physical device you’re connecting to. You can get a list of currently paired devices using the adapter’s BondedDevices collection. I use some simple LINQ to find the device I’m looking for:\nBluetoothDevice device = (from bd in adapter.BondedDevices where bd.Name == …",
      "image": "https://brianpeek.com/connect-to-a-bluetooth-device-with-xamarinandroid/og.png",
      "tags": [".NET","Android","Bluetooth","Hardware","Xamarin"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-chicago-2014/",
      "url": "https://brianpeek.com/visual-studio-live-chicago-2014/",
      "title": "Visual Studio Live! – Chicago 2014",
      "date_published": "2014-04-08T04:04:00+00:00",
      "date_modified": "2014-04-08T04:04:00+00:00",
      "summary": "I will be presenting 2 sessions and speaking on the closing panel at Visual Studio Live! in Chicago this May 5-8. The conference is a full 4 day event and there’s still time to register and save $200 if you register before 4/16/14! For this event, I’ll be presenting:\nTH10 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Thursday, May 8, 2014\nTime: 11:00am – 12:15pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store applications. In this session, we will take a detailed look at all of the tools that the Performance and Diagnostics Hub has to offer with both XAML and HTML/JavaScript Windows Store apps.\nTH20 Writing Asynchronous Code Using .NET 4.5 and C# 5.0\nDate: Thursday, May 8, 2014\nTime: 3:00pm – 4:15pm\nLevel: Introductory\nA variety of new features were added to the .NET 4.5 Framework, including support for easily writing asynchronous code. This session will introduce the concepts of asynchronous programming, .NET Tasks, how to ensure your UI remains responsive, and how to do all of this properly in your own applications using the new \u0026ldquo;async\u0026quot; and \u0026ldquo;await\u0026quot; keywords. If you\u0026rsquo;re looking for ways to provide a better, smoother experience for your users, don\u0026rsquo;t miss this session!\n",
      "content_text": "I will be presenting 2 sessions and speaking on the closing panel at Visual Studio Live! in Chicago this May 5-8. The conference is a full 4 day event and there’s still time to register and save $200 if you register before 4/16/14! For this event, I’ll be presenting:\nTH10 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Thursday, May 8, 2014\nTime: 11:00am – 12:15pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store applications. In this session, we will take a detailed look at all of the tools that the Performance and Diagnostics Hub has to offer with both XAML and HTML/JavaScript Windows Store apps.\nTH20 Writing Asynchronous Code Using .NET 4.5 and C# 5.0\nDate: Thursday, May 8, 2014\nTime: 3:00pm – 4:15pm\nLevel: Introductory\nA variety of new features were added to the .NET 4.5 Framework, including support for easily writing asynchronous code. This session …",
      "image": "https://brianpeek.com/visual-studio-live-chicago-2014/og.png",
      "tags": [".NET","Async","Events","VSLive"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-las-vegas-2014/",
      "url": "https://brianpeek.com/visual-studio-live-las-vegas-2014/",
      "title": "Visual Studio Live! – Las Vegas 2014",
      "date_published": "2014-01-10T11:18:00+00:00",
      "date_modified": "2014-01-10T11:18:00+00:00",
      "summary": "I will be presenting 3 sessions at Visual Studio Live! in Las Vegas this March 10-14. The conference is a full 5 day event and there’s still time to register and save $500 if you register before 1/22/14! For this event, I’ll be presenting:\nLT20 Controlling Hardware using Windows 8.1\nDate: Tuesday, March 11, 2014\nTime: 4:15pm – 5:30pm\nLevel: Introductory\nWindows 8.1 allows developers to communicate with a variety of devices through several interfaces. In this session, we will look at how to talk to hardware connected via USB and Bluetooth, as well as some of the new APIs which allow Windows 8.1 to talk to Point of Sale (POS) devices, scanners, and even 3D printers using real examples with real hardware!\nLT27 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Wednesday, March 12, 2014\nTime: 1:15pm – 2:30pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store applications. In this session, we will take a detailed look at all of the tools that the Performance and Diagnostics Hub has to offer with both XAML and HTML/JavaScript Windows Store apps.\n",
      "content_text": "I will be presenting 3 sessions at Visual Studio Live! in Las Vegas this March 10-14. The conference is a full 5 day event and there’s still time to register and save $500 if you register before 1/22/14! For this event, I’ll be presenting:\nLT20 Controlling Hardware using Windows 8.1\nDate: Tuesday, March 11, 2014\nTime: 4:15pm – 5:30pm\nLevel: Introductory\nWindows 8.1 allows developers to communicate with a variety of devices through several interfaces. In this session, we will look at how to talk to hardware connected via USB and Bluetooth, as well as some of the new APIs which allow Windows 8.1 to talk to Point of Sale (POS) devices, scanners, and even 3D printers using real examples with real hardware!\nLT27 Performance and Diagnostics Hub in Visual Studio 2013\nDate: Wednesday, March 12, 2014\nTime: 1:15pm – 2:30pm\nLevel: Intermediate\nVisual Studio 2013 has introduced a new Performance and Diagnostics hub which encompasses a variety of new and old tools to profile your Windows Store …",
      "image": "https://brianpeek.com/visual-studio-live-las-vegas-2014/og.png",
      "tags": [".NET","Events","Visual Studio","VSLive","Windows"]
    },
    {
      "id": "https://brianpeek.com/email-woes/",
      "url": "https://brianpeek.com/email-woes/",
      "title": "Email Woes",
      "date_published": "2013-12-10T11:30:00+00:00",
      "date_modified": "2013-12-10T11:30:00+00:00",
      "summary": "Apparently the email service tied to this blog has been down for quite a long time and I had no idea. If you\u0026rsquo;ve sent me an email recently, please re-send using the Contact Me link above. Sorry!\n",
      "content_text": "Apparently the email service tied to this blog has been down for quite a long time and I had no idea. If you\u0026amp;rsquo;ve sent me an email recently, please re-send using the Contact Me link above. Sorry!\n",
      "image": "https://brianpeek.com/email-woes/og.png",
      "tags": ["Site News"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-orlando-2013/",
      "url": "https://brianpeek.com/visual-studio-live-orlando-2013/",
      "title": "Visual Studio Live! – Orlando 2013",
      "date_published": "2013-09-17T14:33:19+00:00",
      "date_modified": "2013-09-17T14:33:19+00:00",
      "summary": "Update: Make that 3 sessions!\nI will be presenting 3 sessions at Visual Studio Live! in Orlando this November 18-22. The conference is a full 5 day event and there’s still time to register and save some cash! For this event, I’ll be presenting:\nVST01 What\u0026rsquo;s New in Windows 8.1 for Developers\nDate: Tuesday, November 19, 2013\nTime: 9:30 am – 10:45 am\nLevel: Introductory\nWindows 8.1 contains thousands of new APIs which can make your application even better. In this session, you will get an overview of what’s new to developers in Windows 8.1, and how to use these features to make your apps even better. From new XAML controls to PDF support to text-to-speech, you won’t want to miss this session if you’re a Windows 8 developer!\nVST05 Controlling Hardware using Windows 8.1\nDate: Tuesday, November 19, 2013\nTime: 11:00 am – 12:15 pm\nLevel: Introductory\nWindows 8.1 allows developers to communicate with a variety of devices through several interfaces. In this session, we will look at how to talk to hardware connected via USB and Bluetooth, as well as some of the new APIs which allow Windows 8.1 to talk to Point of Sale (POS) devices, scanners, and even 3D printers using real examples with real hardware!\n",
      "content_text": "Update: Make that 3 sessions!\nI will be presenting 3 sessions at Visual Studio Live! in Orlando this November 18-22. The conference is a full 5 day event and there’s still time to register and save some cash! For this event, I’ll be presenting:\nVST01 What\u0026amp;rsquo;s New in Windows 8.1 for Developers\nDate: Tuesday, November 19, 2013\nTime: 9:30 am – 10:45 am\nLevel: Introductory\nWindows 8.1 contains thousands of new APIs which can make your application even better. In this session, you will get an overview of what’s new to developers in Windows 8.1, and how to use these features to make your apps even better. From new XAML controls to PDF support to text-to-speech, you won’t want to miss this session if you’re a Windows 8 developer!\nVST05 Controlling Hardware using Windows 8.1\nDate: Tuesday, November 19, 2013\nTime: 11:00 am – 12:15 pm\nLevel: Introductory\nWindows 8.1 allows developers to communicate with a variety of devices through several interfaces. In this session, we will look at how to …",
      "image": "https://brianpeek.com/visual-studio-live-orlando-2013/og.png",
      "tags": ["Hardware","VSLive","Windows"]
    },
    {
      "id": "https://brianpeek.com/visual-studio-live-redmond-2013/",
      "url": "https://brianpeek.com/visual-studio-live-redmond-2013/",
      "title": "Visual Studio Live! - Redmond 2013",
      "date_published": "2013-06-17T14:21:00+00:00",
      "date_modified": "2013-06-17T14:21:00+00:00",
      "summary": "Update: Slides and code are now available over on the Events page!\nI will be presenting 2 sessions at Visual Studio Live! in Redmond on the Microsoft campus this August 19 – 23. The conference is a full 5 day event and there’s still time to register and save some cash! For this event, I’ll be presenting:\nT20 Windows Store Application Contracts and Extensibility\nDate: Tuesday, August 20, 2013\nTime: 4:15 pm – 5:30 pm\nLevel: Introductory\nIn this session, we will explore these contracts and how they can be used in any Windows Store application to provide a seamless, integrated experience for users. Contracts are a new feature of Windows 8 Store applications that allow interaction with the operating system and other Store applications in a standard way. With contracts, applications can implement interfaces to allow searching, sharing, settings, app-to-app file picking, and more.\nTH03 Building Your First Windows Phone 8 Application\nDate: Thursday, August 22, 2013\nTime: 8:00 am – 9:15 am\nLevel: Introductory\n",
      "content_text": "Update: Slides and code are now available over on the Events page!\nI will be presenting 2 sessions at Visual Studio Live! in Redmond on the Microsoft campus this August 19 – 23. The conference is a full 5 day event and there’s still time to register and save some cash! For this event, I’ll be presenting:\nT20 Windows Store Application Contracts and Extensibility\nDate: Tuesday, August 20, 2013\nTime: 4:15 pm – 5:30 pm\nLevel: Introductory\nIn this session, we will explore these contracts and how they can be used in any Windows Store application to provide a seamless, integrated experience for users. Contracts are a new feature of Windows 8 Store applications that allow interaction with the operating system and other Store applications in a standard way. With contracts, applications can implement interfaces to allow searching, sharing, settings, app-to-app file picking, and more.\nTH03 Building Your First Windows Phone 8 Application\nDate: Thursday, August 22, 2013\nTime: 8:00 am – 9:15 am …",
      "image": "https://brianpeek.com/visual-studio-live-redmond-2013/og.png",
      "tags": ["C#","Events","VSLive","Windows","Windows Phone"]
    }
  ]
}
