Chris Pietschmann

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

NAVIGATION - SEARCH

Failure is the cost of Wisdom

Everyone fails at something before they succeed. There is so much more to learn from failure than success. I've posted before about Failure being greater success than success pointing out how valuable failure is for learning, growing and future success. A huge benefit of failing here and there over time is Wisdom. Wisdom comes from experience, and more experience can be gained from failure than success. Sure success is great, but when you succeed all you learn is how to succeed under those singu... [More]

TDD: Testable is most important

Test Driven Development (TDD) is great and it really helps you build better, higher quality systems. Unit Tests FTW! However, when TDD meets the real world, there is a clash and many times developers just don't write unit tests. This is bad, but it can be better if the right steps are taken. Writing code that is testable is the key; whether you write the unit tests now or later. Testability FTW! Testability is when you write code using the same best practices (short methods, use interfaces, clea... [More]

Be True to Yourself, First

There are many times in life that we get nudged in this direction or that so that we make other people happy by doing or saying what's necessary to get to that goal. We all need people to work for, be friends with, get along with that do require a little extra effort at times to keep them happy. This is a necessity of life, however, if you aren't true to yourself then you will eventually lose interested and fade off. Being true to yourself is being honest with yourself at the most basic level. E... [More]

Do your best and Own it

A couple years ago I posted some thoughts on "You are responsible for YOU" pointing out that you much take control for your own actions. I've been thinking about this a bit recently and thought I would expand on that thought and add a bit. You can't merely be responsible for yourself and your actions, but you much also "Own it." Own It To "Own It" means to not just take the responsibility for yourself and to start action, but to also take responsibility for the consequences of your actions. Whet... [More]

Beachbody On Demand - Netflix of Exercise

Personally, I've been a Beachbody customer since 2010 when I originally began my own personal fitness and health journey. I first started with P90X and then purchased the newer P90X3 from Beachbody and Tony Horton. For a long time the only way to do Beachbody workouts were to put in a DVD (in your TV, Computer or portable DVD player); while this works just fine there are a few things that can go wrong. What if the DVDs get scratched? or Lost? Fortunately, Beachbody has innovated recently with th... [More]

Code Tip: Simpler Performance Timer Logging in C#

At this point application logging is pretty trivial as there are tons of logging libraries available for use. However, logging of performance timing is a bit ambiguous. There are many ways to do it, and one of the most common is to use the System.Diagnostics.Stopwatch class. Rather, than just embed the Stopwatch class code within and mixed with your application code; in this post I'll cover a more graceful approach to using a simple class along with the C# using keyword. If you're... [More]

Exciting Time for Makers! We're in a Maker Renaissance!

This is something I've thought about from time to time the last few years. It's also something that just keeps getting more and more exciting; amazing if you will! The "Maker culture" has been around for some time, but we're currently in a renaissance of sorts. It's really never been easier for DIY'ers / Makers to to take off-the-shelf components and make some amazing projects that just weren't affordable to do just 10 or 20 years ago. The maker space that stand out the most to me are the variou... [More]

Windows Live Writer now Open Source! as Open Live Writer

The old Windows Live Writer application for authoring blog posts in a “Word-style” fashion was a really good blog authoring application. Unfortunately, it hasn’t been maintained by Microsoft in a long time and is closed sourced. Thankfully, there’s been a movement to finally get Windows Live Writer released as Open Source. Thanks to Scott Hanselman and MANY others, the all new Open Live Writer has now been released! Download it here: http://openlivewriter.org The new Open Live Writer is license... [More]

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 = document.location.search; 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: BuildAzure.com

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 BuildAzure.com. 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]