Chris Pietschmann

husband, father, hacker, entrepreneur, futurist, innovator, autodidact


JavaScript Tips: Parse QueryString to Dictionary

The URL Query String is something that is usually just sent to the server-side code and parse there for use in specifying the data to query. A somewhat little known feature of the JavaScript DOM is that the QueryString values are accessible from client-side javaScript code too. The following code can be used to read what the full QueryString value is from the current pages URL: var queryString =; Although, the QueryString value can be accessed from JavaScript, it isn't p... [More]

jQuery Basics: Is Element Hidden or Visible?

A very common code snippet that's used a lot in various applications is the ability to detect if a specific element in the page is hidden or visible. jQuery provides some very useful functionality that allows for this to be easily determined; as well as making it easy to toggle the visibility of HTML elements on the page. Detect if Element is Visible Using a bit of CSS and the jQuery ".is" method makes it very easy to determine if the HTML element in the jQuery selector is either hidden or visib... [More]

JavaScript Basics: String Contains Function

In many of the server-side programming languages like C#, the String object has a "Contains" method that returns a boolean indicating if the string contains another specified string. JavaScript however does not have a ".contains" method. Fortunately, the ".indexOf" method in JavaScript can easily be used to mimic or build your own ".contains" method. Simple JavaScript String Contains Method Here's a simple implementation of a ".contains" function that is case sensitive: function contains(value, ... [More]

JavaScript Basics: Url / Page Navigation via document.location

Most often from an HTML page when you need to navigate the user to a different page it will be done via an anchor tag ("<a/>"). This works fine if the user explicitly initiates the navigation by clicking the link. However, there are many times when building a web application the page navigation needs to be performed from JavaScript / Ajax code. This can be done using "document.location" in the HTML DOM, but it supports a couple more features than most developers are aware of. Simple Page N... [More]

JavaScript Basics: How to create a Dictionary with Key/Value pairs

In statically typed programming languages a Dictionary (Key/Value pair collection) object can be very useful at times. While JavaScript doesn't natively include a type called "Dictionary", it does contain a very flexible type called "Object". The JavaScript "Object" type is very versatile since JavaScript is a dynamically typed language. This flexibility allows for the "Object" type to be used in ways that might seem strange when compared to statically typed languages such as C#. Creating a Dict... [More]

Tools Don't Make You Great

Every career and industry has it's own set of tools that are commonly used. Software Development is no different. These tools offer varying degrees of functionality that help people do their jobs. To a certain extent these tools do help people do better work, more work, faster work, etc. However, there is a limit to this affect. As a software developer targeting web and Microsoft platforms, I use Visual Studio every day. There are many features that have been added to this tool over the years th... [More]

Peek Inside Minecraft Windows 10 Edition Beta

Microsoft recently released the Minecraft: Windows 10 Edition Beta. It's a free app for existing Mojang customers who have already purchased the desktop/Java version of Minecraft. This is one of the first UWP apps for Windows 10 from Microsoft and given Minecraft's long history with Java, I thought I'd peek inside and see how much implementation details I could gleam. This post chronicles what I've been able to find out. [More]

Announcing new Azure blog:

While studying for the MCSD: Azure Solutions Architect certification I decided to blog a lot more on all things Azure. Also, instead of posting those posts here, I decided to create a completely new blog site dedicated just to "all things Azure" This new site is I have also created the @BuildAzure twitter account associated with the new blog. I will still blog here, as I have for over 10 years so far. However, my posts relating to Microsoft Azure technologies and features will mo... [More]

Why I got the MCSD: Azure Solutions Architect Certification

Over the last few months I spent a ton of time studying for and passing the 3 exams required to earn the Microsoft Certified Solutions Developer (MCSD) Azure Solutions Architect certification. Microsoft has really built out an incredible, cloud platform that is Azure! And, this is fitting since it's the future of Microsoft's Enterprise business. This is the root of the reason why I decided to pursue and obtain the MCSD: Azure Solutions Architect certification. Azure Solutions Architect is a uniq... [More]

How I passed the 70-532 Developing Microsoft Azure Solutions certification exam

I've been taking on some Microsoft certifications recently, and my latest success is passing the 70-532 Developing Microsoft Azure Solutions exam; earning me the Microsoft Specialist: Developing Microsoft Azure Solutions Certification. As with all Microsoft certification exams, this exam covers a huge amount of information and content. As a result of this, a variety of materials and sources need to be studied in order to get the level understanding and memorization necessary to pass the exa... [More]

First 10 Minutes with Raspberry Pi 2 and Windows 10 for IoT

My very first Raspberry Pi arrived yesterday. I'm super excited to get playing, and frankly I probably should have gotten one of the older versions sooner. Now that I've got Pi, I can start hacking! Since this is a Raspberry Pi 2, it can run the new Windows 10 for IoT making it easy to build apps for it with C# and Visual Studio. Well, I haven't gotten to actually building any apps yet, but was able to get Windows 10 for IoT setup. Install Windows 10 for IoT Installing Windows 10 for IoT to the ... [More]

CSS-only Animated Loading Spinner

CSS Animations are a feature that's been around for a few years, but not many web developers know about it. CSS Animations allow you to define animations and transitions for HTML elements without the need to write JavaScript to do it, or even create an animated GIF file. Here's a simple Loading Spinner using a simple CSS Animation: <style> @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .spinner { animation: spin ... [More]

Hack to Force new Skype for Business UI over Lync

Microsoft recently released an update that rebrands Lync as Skype for Business. Many got the update automatically through Windows Update, but not everyone gets the new user interface (UI). There is a Lync Server setting that tells the client to use the either the old Lync or the new Skype for Business UI. If the server doesn't have this setting, such as older Lync servers that haven't been updated yet, then the default is to show the old Lync UI. One frustrating part of this update/change from a... [More]

Games and Facebook are Cool but Boring Software Runs the World

Mostly all tech news speaks about are either the latest consumer features of your favorite Mobile Operating System (iOS, Android, Windows Mobile) or all the cool startups. There certainly have been a lot of startups over the years to make it big. To name a few: Facebook, Twitter, Skype, Uber. However magical and exciting these consumer companies and their software products appear to be, they still don't fundamentally make the world run. Yes, some of these have fundamentally changed the way ... [More]

jsQuizEngine - lightweight javascript quiz engine

I've been studying for some Microsoft certification exams lately. The exam I'm studying for right now is the Developing Microsoft Azure Solutions (70-532) exam and this exam doesn't have any practice tests available from anyone. So I've decided to make my own practice test questions for it. However, I've been unable to find any nice, clean, simple test / quiz engines to be able to take the practice questions like a semi-real test. So I decided to build my own using HTML, JavaScript and CSS. The ... [More]

Apple Watch NOT Insanely Great, Not Yet

Today is the day that Apple has opened preorders for the Apple Watch. There's a lot of conversation about this new product, but we must all remember that it's the very first version of this brand new product. It's not just the first version, but the first version of a brand new product category for the company. This all adds up to a v1 product that has a lot stacked up against it for being all that great. Version 1 products are best when they are released as an MVP (Minimum Viable Product).... [More]

Social Media has ruined my blog, or am I just lazy?

As I've been using Twitter more the last couple years, I've also been blogging less. Every time I go to write up a new blog entry I realize how long it's been since the previous post. I know I'm not alone in this, and other people might blame Twitter, Facebook and/or some other social media service. It's so incredibly easy to share a link or just a sentence of information on Twitter. Facebook makes it easy to share more than just a short blurb, so many people use Facebook instead and then post a... [More]

5 Common C# tasks in Apple Swift Programming Language

There are many simple tasks performed by C# developers over and over. These are common things necessary in all kinds of applications. This post will give an overview of a few of the most common tasks performed by C# developers with examples on how to perform those tasks using the Swift programming language from Apple. Type Casting There are many reasons you might need to convert a primitive type to another. One of these is to convert an integer to a string for string concatenation or some other ... [More]

Community Engagement: Who do you follow? What do you share?

Some people have other people they follow in one manner or another. Some of the most commonly followed people in an industry are the "rockstars" of that industry. However, there are some people who refuse to follow others as they feel it might hinder their ability to think uniquely; think different. Although, if you don't follow anyone then you are turning yourself into a loner; an island. What's the best direction to take? Should you be a loner who works and thinks independently, or should you ... [More]

CQRS: Command Query Responsibility Segregation Design Pattern

I was recently turned onto the Command Query Responsibility Segregation (CQRS) design pattern by a co-worker. One of the biggest benefits of CQRS is that is aids in implementing distributed, highly scalable system. This notion can be intimidating, but at the heart of CQRS there are rather simple guidelines to follow. Now let's dive in and explore what this pattern is and some way of implementing it. Purpose of Command Query Responsibility Segregation (CQRS) The main purpose of CQRS is to assist ... [More]

Basic Comparison of Functions in C# and Apple Swift Programming Language

Previously I wrote a basic comparison of the C# and Apple Swift programming language syntax. In this article we'll dive a little deeper into a comparison in to how defining and calling Functions work in both. Functions are first class citizens in both C# and Apple Swift, so lets see how they compare against each other! Define Basic Parameterless Function At the most basic level there really aren't many differences between the 2 languages as you can see below. Even the way you return a value from... [More]

Basic Comparison of C# and Apple Swift Programming Language Syntax

Recently, Apple announced and released a beta version of the new Swift programming language for building iOS and OSX applications. Swift is a modern language with the power of Objective-C without the "baggage of C." While we can't argue that Objective-C has it's difficulties being tied closely to C, but the real question is... How does Swift compare to a modern language like C#? Please, keep in mind that this post is not supposed to be an Apple vs Microsoft post. There are a lot of developers th... [More]

Public Domain or at least Open Source Licensing Eventually

Most copyrighted products are proprietary and closed source; such as books, software programs and all other types of copyrightable materials. The reason for this, and a very good one IMO, is to allow the author(s) to make a living on what they've created. While some are open source from the start, most are proprietary; which makes sense. After all, you wont be able to create future products if you can't afford to pay the bills. When to Set it Free However, there comes a time in the natural life ... [More]

There is no product unless you first ship it!

Just as there is no business without something to sell; you do not have a product until you ship it. What to ship? How to ship? When to ship? Where to ship? There are many questions that need to be answered before shipping a product. However, one thing always remains true:A product only succeeds if you ship it. It may be difficult to determine when/if/how/where your product fits. However, you can always reiterate and improve the product for the next release. Every product isn’t as great at... [More]

Programming is the Reading and Writing of the Future

"Everybody in this country should learn how to program a computer because it teaches you hot to think." - Steve Jobs "Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains." - Bill Gates   In the future #Programming will be like #Reading and #Writing are today. — Chris Pietschmann (@crpietschmann) September 13, 2013 Every student in every school should have the opportunity to learn co... [More]