Chris Pietschmann

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

NAVIGATION - SEARCH

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]

Overnight Success is Hardly Overnight

Every so often there are news headlines declaring that some person or company is an "overnight success." No personal reputation or business is ever built up overnight. It's a physical and social impossibility. Every time there is an "overnight success" reference there is a person or company that has been working for 5, 10, 15 or more years. They have had many failures over that time, learned from them, and have forged success by persevering through hardships of some kind. Success is hard work. S... [More]

Failure Is Greater Success Than Success.

Our society has a tendency to constantly focus on failure. Success is often short lived and generally only achieves "15 minutes of fame." "I've missed more than 9000 shots in my career. I've lost almost 300 games. 26 times, I've been trusted to take the game winning shot and missed. I've failed over and over and over again in my life. And that is why I succeed." - Michael Jordan Failures can easily overshadow successes. It is important to never let those failures convince you to quit, for failur... [More]

You are responsible for YOU

It is easy to point fingers and pass blame to others. Although, ultimately, at the end of the day you are the only one responsible for YOU! No matter what good or bad decisions you've made at home, at work, in life; you are the only one to blame. Take responsibility and own your actions. For once you fully take responsibility for yourself, and only then, will you achieve a greater level of freedom. Many people will attempt to control you out of fear and/or for their own agenda. They will only su... [More]

Psychology of Software and its Users

The fact that Psychology plays an instrumental role in the development, design and everyday use of software is not something that is very apparent to most people. It is something that is hidden within the details, but is also blatantly obvious when to really think about how software is developed, designed and used. Think about this for a moment: Software is designed by people for people to use. Sure, the execution of software code and the process flow within it are a carefully laid out path of l... [More]

Urgency is not Panic, unless you let it be

When you are caught up in the urgency of getting something done it is easy to be blinded by the FUD (Fear, Uncertainty and Doubt) that is causing you to rush and possibly make mistakes. After all, the deadline is fast approaching! Almost every time urgency is accompanied with rushing. Although, it doesn’t have to be. The next time you get into an urgent situation, make sure you "Stop, Relax. Now, GO!" Reflecting on the current situation allows you to remain in control while still getting t... [More]

Execution is Most Important to be Successful

A quote you likely hear a lot is "It doesn't matter what you know; It's WHO you know." Well, when you compare the "what" and "who" it is generally true that the "who" is more important. After all, if you don't know who to sell to then it doesn't matter what you build or do. However, something that is implicit in that quote is that you know how to execute. Execution is probably the most important thing to succeed in both life and business. No matter how much you know, if you can't execute an idea... [More]

Automation is Essential

There are many tasks that are performed repetitively. Some of those tasks often get outsourced. However, in the end someone is responsible for performing those tasks. Automation is the process of setting up some kind of process to perform repetitive tasks with minimal effort from the person responsible. Any time there is a task that is necessary to perform repetitively you must (in today's ever shrinking and increasingly competitive world) consider if that task is worth automating in whole or in... [More]

An Hour Saved is an Hour Earned

Time is the scarcest resource we have. More scarce than land, More scarce than water. More scarce than money. This is one of the reasons that life is so precious. "A penny saved is a penny earned." - Benjamin Franklin This famous quote from Benjamin Franklin can also be applied to Time. We only have so much time. We need to choose wisely how we spend it. An hour spent reading useless Facebook status updates is one less hour spent with your family. An hour spent watching TV is one less hour spent... [More]

Comfort is Overrated. Change is Exciting and Revealing!

We naturally tend to resist change and cling to our comfort zones. Venture out and try something new on a regular basis. You might fail; you might succeed. But, you will never know which if you don’t try. The only way to truly grow as a person, both personally and professionally, is to step out where you’ve never been and try something new. You WILL surprise yourself with what you can handle when you set aside fear and embrace novelty.

Stop. Relax. Now, GO!

Once in a while you need to pause and rest for a second so you can collect your thoughts before pushing forward. The rush of pushing forward all the time leaves little time to reflect on what’s been done and where you’re headed. Don’t forget to force yourself to regain a little perspective once in a while. Stop. Take a breath of fresh air. Now, GO!

Work Smart, Not Hard

There is nothing wrong with working hard. A lot of people have made quite a successful career for themselves by working hard. But, if you keep working hard today, then you will still be working hard tomorrow. It is more important to work smart... [More]

The Follow Or Lead Delimma of Sheep and Wolves

To follow or lead; that is the question. No matter how you look at it, people in our society are constantly following in one capacity or another. However, there are a few people that stand out / take risks / try new things. These are the leaders, the entrepreneurs, the wolves. Without wolves the sheep would never discover any innovation, and the world would stagnate. Are you a Sheep or a Wolf?

Do Trust and Faith belong in Software Development? Not Really!

The words "Trust" and "Faith" don't normally come up in discussion surrounding software development. However, whether we like to say it or not, we really do put a lot of both trust and faith in software. In fact, software developers often put a lot trust and faith in there development tool. While this can be justified in certain cases; it is most often a mistake. The Good When following Test Driven Development (TDD) you basically don't trust anything by writing unit tests to verify everything ... [More]

‘SQL Query’ Micro Design Pattern

There are a few programming practices, that I like to call Micro Design Patterns, that I use over and over again on various software projects I work on. One pattern that I call SQL Query, and use quite frequently when I need to write ad-hoc SQL queries for use within a Data Access Layer. This pattern lends itself to easier testability and a cleaner separation of concerns. What is the ‘SQL Query’ Micro Pattern? Basically, the SQL Query micro pattern involves using a Factory Method to return an ... [More]

Peeking inside the Twitter Windows 8 App

I decide to peek inside the Twitter Windows 8 App package to see what language they are using and to see if I can find any open source projects being used within. Well, I found some interesting stuff… How to view inside the package You can view any Windows 8 app package that is installed on your computer as it resides within the following folder: C:\Program Files\WindowsApps Each package has it’s own folder within that folder. Here’s the full path to the package folder where the Twitter a... [More]

What “var” really means in C#–It’s not “variant”

With the release of C# 3.0 came the addition (among many others) of the “var” keyword. I’ve seen MANY people confused about what this keyword is, does and means. Among these people with incorrect assumptions to the function of the “var” keyword, I have seen programmers/developers with varying amounts / years of experience. So, I’ve decided to write up a simple explanation; actually the same one I’ve told and/or emailed people over the last couple years. “var” is not variant! Since “var” is the... [More]

Windows 8 App: Simple Weight Log–My first Windows Store App

A few weeks ago I built and released Simple Weight Log (my first Windows 8 app in the store.) The app allows you to enter your weight in a log by date and it charts the different weigh-ins in a line graph to allow you to easily visualize weight changes over time. View in Windows Store “Are you trying to loose weight? or, gain weight? If so, then Simple Weight Log will allow you to easily log and track metrics on your progress.” Application Features Simple and easy to use I purposely bu... [More]

SQL Azure: Calculate Database Usage Percentage of Max Size

Some times it can be useful to programmatically monitor your SQL Azure database usage statistics. Luckily, there is some short SQL code that can be run on the database to check how much disk space is currently used and what the currently allotted max database size is. The following script does just that. DECLARE @dbName nvarchar(255) = '{database_name}'; DECLARE @Max BIGINT = CONVERT(BIGINT, (SELECT DATABASEPROPERTYEX(@dbName , 'MaxSizeInBytes'))); DECLARE @Used BIGINT = ( SELECT ... [More]

All Information Workers are NOT Equal or Even Approximate!

There have been information workers for a long time. However, even after all this time, it is amazing that one of the biggest misconceptions is that all information workers are equal (or at least approximately equivalent.) It basically goes like this: an hour of worker A’s time is pretty much equal to an hour of worker B’s time. In reality this couldn’t be further from reality. It’s like saying a high school graduate today is as smart as Albert Einstein. Well, maybe that example is a little ext... [More]

Office 365 + Microsoft Account + Password Expiration = FAIL!

One of my business email accounts is hosted in Exchange Server via Microsoft Online Services. Earlier this year they upgraded us to the new Office 365. Everything went well for a few months after the upgrade, until my password happened to expire on my earlier this week. Below is a solution I was able to figure out to regain access to my account (without calling Microsoft for support/help.) Background This specific email address is also a Microsoft Account (aka Windows Live ID) and has been eve... [More]

Using MiniProfiler with SqlDataSource ASP.NET WebForms Control

I recently implemented MiniProfiler into an existing ASP.NET WebForms application that makes use of databinding to the SqlDataSource control. Since the SqlDataSource uses a DbProviderFactory internally, it is fairly simple to exend the control to utilize MiniProfiler through inheritance and overriding a single method of the SqlDataSource. Here’s a very simple class that inherits from the SqlDataSource control and injects MiniProfiler support to be able to profile the SQL query used by the contr... [More]

Mocking HttpRequestBase.ServerVariables using Moq

Mocking is a very handy tool for unit testing code, especially when it comes to mocking the HttpContext for web application code. However, it’s not as straight forward as you might think to mock the HttpRequestBase.ServerVariables, however once you know what to do it really is pretty simple. Here’s a code example (using moq) that shows how to create a mock HttpContextBase that contains a mock HttpRequestBase with a mock ServerVariables property: public HttpContextBase CreateMockHttpContext() ... [More]