The ... [More]
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]
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]
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.
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]
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]
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]
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]
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]
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]
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]
"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]
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]
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]
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]
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]
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]
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]
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]
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]
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.
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!
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]
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?
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.
When following Test Driven Development (TDD) you basically don't trust anything by writing unit tests to verify everything ... [More]
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]