Jan 5, 2020

The Easy Fix for My Camtasia Video

I might be the only one who would ever have tried to make this so hard - but just in case it might be helpful to others here is something I learned this weekend. In reality I suspect the most use of this might come when I next need to fix something like this and I've forgotten what I learned!

The Problem:

I published a new course with Skill Me Up (Opsgility). When I delivered the course I rendered the video from the Camtasia project and sent that rather than the Camtasia project.
The editor created a new Camtasia project importing my .mp4 file as the source. They made a few more edits to the course. The edits were mostly removing some longer pauses and a few 'filler words'.
After the course was published I noticed that I had accidentally shifted the video in one of my demos. This cut off the left side of the screen. I needed to fix it!

First Thoughts of How to Fix:

When I brought this to the attention of my editor they sent me their Camtasia project. My original video was around 2:27 and the published video was around 2:24. So in the overall course they had cut out around 3 minutes.
While I have used Camtasia quite a bit I don't really know a lot of the inner workings. To fix the problem I figured I would find where the editor had made edits and duplicate them in my original project. Then I could re-render the video so the update could be published.
As I started to look at this I realized that while I would know where to make the cuts I would not have any idea how long each should be. It would be difficult to figure this out by simply playing both copies of the video (my original and the version that was published).
My second thought was to review the Camtasia project file and see if I could understand how it tracked the edits that had been done. I figured some of this out. Here is a small snippet of the json in the project file:

"start" : 235096,
"duration" : 1809,
"mediaStart" : 238757,
"mediaDuration" : 1809

I found that the following were important for what I wanted to do:

  • Start -> appears to be the starting frame number of the edited video
  • mediaStart -> appears to be the starting frame number from the source media
  • duration -> appears to be the number of frames that were cut
I was getting ready to start manually editing my project when I had an idea...

The 'Easy' Solution:


After spending some time trying to figure out the Camtasia project file I thought that I might just be able to replace the source (.mp4) file with a corrected file. I opened my Camtasia project and moved the shifted video back into place. I then re-rendered the .mp4 file. I then replaced the source file in the editors Camtasia project with my new .mp4 and the video is fixed!
This is another example of how easy it can be to make things more complicated than then need to be!
If you are interested in checking out the course here is a link:https://www.skillmeup.com/courses/player/Introduction-to-JavaScript

Apr 28, 2018

Global Azure Bootcamp 2018 - Ogden Utah

On Saturday April 21st 2018 the Global Azure Bootcamp was held. On that day at 286 locations around the world communities gathered to learn more about Microsoft Azure. Each location was free to choose whatever content they wished to present.

It has been 3 years since we last hosted a local a session of the Global Azure Bootcamp in Utah. This year I decided that it was time we bring it back, so I volunteered to host the event. Along with the global sponsors we had a couple of local organizations step up to help us out. The first was the Computer Science Department at Weber State University. Weber State hosted the event at their main campus in Ogden Utah. The second local sponsor was ZAACT, a company headquartered in Draper Utah that is a Microsoft Gold Partner specializing in SharePoint, Office 365 and Azure. Zaact provided some give-aways to share with the attendees.

After reaching out to a few people for help presenting I ended up being the only presenter. That made for a long day - but I really enjoy these events and love to share information with others. I believe I love it so much because I believe that I actually get much more out of it that what I put into to. I honestly believe that everyone has something to teach me, and I hope that in return I can share some knowledge with them. Also, I believe the best way to learn anything is to teach it to others. So for me, presenting at an event like this is a win-win!

Since I was the only presenter, and since the project I am currently working on has been in crunch mode for the past couple of months I knew it would be difficult to create new content for the event. Luckily Frank Boucher from Montreal, Canada had organized a similar event in November of 2017 and had graciously offered to share the content they used with anyone who wanted it. I forked his Github repository, reviewed and updated the content and used it as the base of my presentation.

You can find my updates here: https://github.com/mgerickson/Bootcamp-Azure-Asp.Net-Core-DevOps

There was a pretty diverse group of attendees at the event. While I had initially intended to have each attendee go through the labs on their own we decided it would work out best to do the exercises as a team, allowing anyone who wanted to follow alone with the group.

We were unable to get through all of the labs, but we did get a great introduction to Azure with some good hands on experience. I was able to present all of the content, just not do all of the labs.

While our numbers were smaller than I wished it was a very interactive group. I love having those in attendance participate, and this group did not let me down! Thank you to everyone who attended!

The feedback that I have received has been very positive. And, at least for now, I am highly motivated to ensure that we don't miss future years of participating in this event. I am also interested in organizing some other local events. I'm thinking that we need a similar event for AWS. Knowledge of "the cloud" is becoming more important all of the time and ensuring we have well informed technologists in the area is important.

Please let me know what you think about these events. And let me know if you would be interested in attending future events - especially if you would like to help present and share your knowledge with the community!

Keep your head in the clouds!

Apr 25, 2018

Utah Technology Community Groups

Last Saturday I was fortunate to be able to host, and present at, the Global Azure Bootcamp. Look for a post in the near future where I review the event. But todays post is to answer a question that several of the attendees had. The question was, what technical groups, or events, occur in the local area.

After I shared some of the groups that I know about with the attendees I decided that it would be worthwhile to share the list with others.

Quick disclaimer - while I have attended meetings of several of these groups I have not been able to attend nearly as often for the past few years. I am providing information that is available online, trying to pull it together into one place. But I cannot confirm how active the groups are or how valuable their content or meetings are at this time - that leaves a wide open opportunity for each of you to join them and help make these groups great!

Here is what I've come up with - PLEASE let me know what other groups or events you know about so we can build up or local technology communities! Also, please let me know if you have any experience with any of the groups, I'd like to be better informed to share the information with others in the future.

The SLC .NET User Group
https://www.meetup.com/The-SLC-NET-User-Group/

The Northern Utah .NET User Group
This is the group that I have been able to attend the most over the past couple of years. They meet very consistently and have an especially fun meeting every October when they use microcontrollers to make some fun Halloween gadgets.
https://www.meetup.com/nunug-org/
http://nunug.org/

The Utah Valley .NET User Group
https://www.meetup.com/Utah-County-NET-User-Group/

Utah Geek Events
This organization puts on the annual Utah Code Camp and other events. They also share information about other independent events that happen in the state. This is a good site to keep an eye on. They also have a Slack Channel that you can join.
https://www.utahgeekevents.com/

Utah Azure Meetup
https://www.meetup.com/Utah-Microsoft-Azure-Meetup/

Utah AWS Meetup
https://www.meetup.com/Utah-AWS/

Utah Java Users Group
http://ujug.org/

JavaScript Engineers of Utah
https://utahjs.com/
https://www.meetup.com/UtahJS/

Utah Node.js Meetup
https://www.meetup.com/utahnodejs/

ReactJS Utah Meetup
https://www.meetup.com/ReactJS-Utah/

Salt Lake Valley Angular Meetup
https://www.meetup.com/AngularJS-Utah/

Salt Lake City Data Science Meetup
https://www.meetup.com/Salt-Lake-City-Data-Science/

Girl Develop It SLC/Provo
https://www.meetup.com/Girl-Develop-It-Salt-Lake-City/

Aug 18, 2016

Tips for Tracking Progress During a Certification Exam

Some people are natural test takers – there is no anxiousness or fear in them as the attack the exam. Others dread sitting down and being in a controlled situation where their knowledge is challenged and they feel that their self-worth is on the line. Whichever of these situations you find yourself in, or anywhere in between the extremes, I hope that you might gain some skills to help you in future exams from the content I’m sharing today.
I don’t remember when I first started to use these techniques but over the course of taking many technical certification exams I have created a process to track my progress through the exam.
I feel like this helps me in several ways. It helps to give me an overall perspective of how I am doing on time, which keeps me well paced through the test. It gives me insight to how likely I feel I am to pass the exam helping me not get too anxious when I hit a series of questions that “stump” me. It reduces the time required to review questions at the end of the exam reducing the chance of making bad “guesses” at answers as I finish up the exam.
I have shared this technique with several people over the past few years. Most say they have found it useful. As with any technique that claims to make some task easier I suggest that you see how it feels for you, and that you adopt any parts of it that you believe will be helpful as you pursue new certifications.

Before You Start

Based on my experience you have a few tools available to you as you sit down to start your exam. You typically know how many questions are on the exam. You know how long you have to complete the exam. You often have an idea of the minimum required score to pass the exam. And finally you have a blank sheet of paper and something to write with.
Before I press “start” on the exam I create a tracking tool for myself with the blank paper. It looks similar to this:
Certification Exam Tracking - Before the ExamFirst look at the top right corner of the paper. Here I list the key information that I know about the exam. The time limit, the number of questions and the anticipated pass percentage. I calculate the number of questions that I will need to get correct to pass the exam. Finally I note the time that I hit “Start”.
I know that all of this is information that you already know, and some of it is available in the testing engine. I have found that writing it down before I start helps me to settle down a bit, and it means that I won’t have to use any mental energy to think of these things during the exam.
Next I start at the top left of the page and I create a grid with a row for each question. This almost always takes at least two columns. In this sample I’ve shortened the first column and show a second column as an example.
Next to each number you will see there are three columns. I also add a line for every 5 questions to help keep things lined up.

While Answering Questions

Once I’ve finished preparing the paper I take a deep breath and hit start. As I work through the test I use the grid I to track how confident I feel about each question I answer. I check the first column for questions I feel very confident of the answers. I check the third column for answers I have no confidence in. and Finally I check the middle column for the rest.
A quick look at this during the exam will give me a feeling for how well I am doing overall. If I see too many check marks in the third column I start to get a little worried. I don’t worry too much about how many are in the middle column, from past experience I know that I have to be very confident in the answer to mark the first column.
I answer all questions on my first pass through the test, but I also leave behind some information as I go. When I am not confident in my answer I will often leave myself a note about my thoughts. This can take the form you see next to questions 12 and 15. Here I identify how many answers are needed, for instance in my sample of question 12 I have put a 2 in parentheses indicaCertification Exam Tracking - During the Examtes the question is asking for the 2 best answers. On question 15 there would only be a single answer for the question. I then also note which of the possible answers I believe to be wrong by writing a slash through the option. I also note which I believe to be correct by underlining the option. This will reduce the time I need to review the question if I come back to it after completing my first pass through the questions.
Most people also have experienced situations where a question later in the test helps them to recall something that would be useful in answering an earlier question. To help me find something like this I might make a comment with the question number. In my sample I have noted that I don’t remember what a “widget” is and I need to know that for question 6. I also have found that writing down a note like this can help to keep my mind working on that question in the background as I continue through the test.

After Completing all the Questions

Once I have complete my first pass through the exam I’ll do a quick check of my time. This will help me to decide how to approach reviewing any questions. Based on the time I have available, and the number of questions I have marked in each category, I will go back and review questions. On my sample paper you can see where I have totaled the number of questions from each column to give me a better idea of what my actual scoreCertification Exam Tracking - After the Exam might be.
I seldom return to the questions that I marked in column 3. The only real exception to that is if I believe I’ve remembered something that will truly help me select a better answer. This comes from the notes I might have made (like “what is a widget”). I will tend to return to questions where I eliminated some possible answers on the first pass (like questions 12 and 15).
I’m certain everyone has heard the advice that you should not change answers to questions when you review your test. I’ll let you make your own choice on that, but my approach is to consider that I might have been reminded of something while reading other questions that makes the changing of my answer less of a random thing and more the implementation of “newly remembered” knowledge. and change answers accordingly.

After You Hit End

One the test is actually finished because I have either ran out of time or hit “end” to complete the test I do two last things. First I will make of list of any topics that I feel like I need to focus on based on the experience I just had with the test. These may be things that I found I didn’t know as well as I would like, or topics that I felt were heavily covered on the exam which I feel I should do some more study on. While I am not able to take this paper with with me after the exam writing them down helps me to remember them. Then I can make note of these topics after I leave the testing center.
The final thing that I do is to compare my actual score with the results of marking my three columns. For instance if on this hypothetical exam I scored 81% I would do the math to see that I must have gotten about 49 questions correct (the math says 48.6 – I find that it seldom works out to be an exact number of questions – maybe some of it is rounding and possible some questions are scored differently than others). I compare this to the results of totaling up my check marks. In this case, it is likely that I got nearly all of the questions that I marked as “very confident” or “OK” correct. I had marked 16 as “very confident” and 34 as “OK”. I use this as a gauge for future exams to better know how to interpret my “self grading”.

A Final Thought

A while back I wrote a post about how I feel about technical certifications (http://mgerickson.blogspot.com/2015/05/thoughts-on-technical-certifications.html). In that post I presented the typical reason I pursue certifications. I also discussed some of the common feelings I have heard others express about certifications.
Please let me know what you think of my approach, and what you would do to improve it!

Aug 13, 2015

Notes from Domain Driven Design (Eric Evans) - Chapter 15

Continuing to capture some of the notes I've taken from my current projects study of Eric Evans Domain Driven Design book here are my notes from Chapter 15.

Notes - Page 1
Notes - Page 2

We have skipped around some in our reading, and I have not captured notes for every chapter. I'll continue to publish the notes I have taken every few days. I'll capture notes for the chapters we have covered that I failed to capture notes for. And I'll work to capture notes for the remaining chapters as we work our way through them.

I'm looking forward to any thoughts or feedback - get talking everyone!

Aug 6, 2015

Notes from Domain Driven Design (Eric Evans) - Chapter 6

The current project I'm working on is taking a Domain Driven Design approach. We have some senior people who are pretty well versed on DDD, but it is a very large program and there are many people who are not experienced with the approach. Some of the team have dug in and studied, but others have not been as proactive. We decided to start a book club to help each other grow and learn. The first book we've been studying is Eric Evans DDD book (Domain Driven Design: Tackling Complexity in the Heart of Software).

Recently I've been playing around with Sketchnotes (here is a link to a site that describes Sketchnoting if you are not familiar with it). I struggle to use them strongly (and probably well), but I'm trying to get better at it. I do feel like there are many benefits of sketchnotes both for the person who takes the notes, and for anyone with whom those notes are shared. With this in mind I decided to scan my notes for the chapter we discussed today and share them with our team. I had some feedback, mostly positive, but I'm not sure if they helped too much.

I decided to post the images here - maybe someone else will find them useful.

Notes - Page 1
Notes - Page 2

Please let me know what you think.

Also, after putting the notes together I decided I would prefer to change the flow some - I just didn't have time to do it. If I decide recreate them I'll post an update (in the mean time I've included a picture of a rough outline of what I'm thinking from my whiteboard).

Better Layout of Notes
I will review some of the notes I've taken from other chapters we've covered and see about posting them in the future.

Aug 4, 2015

Destination: Guatemala; Task: Service; Most Affected: Me!

I know the joy that comes from helping others, it's something I've experienced many times. I've also received help many times in my life and I know the difference it can make. It's easy to forget these facts in the everyday things of life and it can be easy to miss opportunities.

I recently had an experience that reminded me of the value of serving others. While this was a big experience it reminded me that the benefits can come from even small acts. I hope that my brief account of this experience will help all of us remember the importance of serving others. It doesn't have to be done in a faraway place. Nor does it have to be a large act. You can serve your employees, your manger, your family, your friends and even people you don't know - the benefits will come to everyone when you do.

After reading my account of this trip please take my challenge seriously. Then please share experiences that you have had with the rest of us!

My Trip to Guatemala


One of the rooms we cemented
I recently returned from a fantastic trip to Guatemala with my wife and daughter. We were there for nearly 3 weeks, most of which was participating with a group from Youthlinc - a nonprofit, nondenominational, service organization in Utah. The three of us spent the last few days of our trip visiting some beautiful areas of the country.

Youthlinc partnered with an in country nonprofit organization named People for Guatemala. They helped to organize the work that we did and supported the selection of the village where we served. The village was Las Escobitas and the people there were wonderful!

First here are the details of the mechanics:

Our group from Youthlinc included 41 people. There were two team leaders, 7 mentors, and 32 youth. Multiple of the youth had been on Youthlinc trips before and they were student leaders referred to as "alums". None of the youth had been to Guatemala with Youthlinc.

Here is a list of some of what we accomplished (I'm sure that I'm missing some key items here):

  • We mixed and poured cement in about 20 homes (in bedrooms, kitchens or both)
  • We installed about 20 Chapina Stoves
  • We painted both the inside and outside of the village school house
  • We installed a playground at the school (designed by Ken from People for Guatemala)
  • We taught interested members of the village to sew on (mostly) donated sewing machines
  • We taught interested members of the village to cut hair
  • Each of the youth taught English lessons to the students at the school
  • Lessons were taught on human relations, alcohol and smoking concerns and basic business skills
  • We held a health fair where healthy skills and other health lessons were taught
The school house we painted and where the youth taught
While all of that is great it only scratches the surface of why I was so moved and am unable to really put into words the significance and importance of the trip. I'll try to convey some of that below.

Youthlinc strives to create lifelong humanitarians. This starts by requiring all of the youth who participate in a foreign trip to complete 80 hours of local service in their communities prior to going on their service trip. I watched my daughter do this service over several months in preparation for our trip. "Voluntour" is a term I had not heard prior to getting involved in Youthlinc. It refers to people or groups that supplement a tourist trip with some service. Youthlinc most definitely does not do this. While my wife, daughter and I did extend our trip with some tourist activities, the service part of the trip was hard work focused on serving the people of Guatemala.

Another key point that Youthlinc focuses on is that you can get much better results when you help someone who is working to help themselves rather than just doing for those in need. This is implemented by requiring people who receive assistance to cover part of the costs themselves. Each home that received a cement floor or a Chapina stove earned part of the costs of those improvements, but then had the rest donated. Youthlinc has found that when they approach helping people this way the long term results are much better and people’s lives are really changed. This requirement was not only done for the improvements to people’s homes but also by the community overall for the improvements to the school. 

One of the first great results of the trip was forming a great relationship with the team. We had a fantastic team. Everyone was there to serve and worked very hard. I must say that this was hard work for us, a bunch of people from Utah - but much of the work we did was done alongside those we were helping, and it was everyday life for them (you can interpret that as we were pretty soft compared to the villagers we were working with!).

I guess I'm a little old fashioned, but I personally found it very hard to watch some of the young women that were on the team mixing the cement with shovels and hoes and carrying it in 5 gallon buckets. But there was no stopping them - they were there to work, and they did work!

We started our service with an opening ceremony where we tried to introduce ourselves to the village and they shared a little about themselves with us. They expressed many times how grateful they were that we had come to serve and work with them to improve their village and their lives. But the most moving part of that ceremony was when the leader of the village said - we are all the same, it is just our language that is different. There were some of us that spoke passable to even good Spanish, and we also had some translators that were helping us - but by the end of the two weeks we were communicating on many other levels, and deep relationships had been formed between many of the team members and the people from the village.

After that first morning of getting introduced to each other we started working hard that afternoon. We broke into three groups and started on different tasks. One group started to paint the school house. Another group started to teach sewing lessons. My group headed out to lay cement in a families kitchen. As we arrived and received some instructions on how to mix the cement. I had memories of doing similar work in my youth with my dad and grandpa. I suspect I was more in the way than helpful when I was younger. I honestly hope that I was more helpful than in the way in Guatemala!

After that we really didn't stop much for the next two weeks. While Youthlinc is not a religious organization the village did ask that we not come to work on Sundays. So each Sunday we experienced a little be of Guatemala and worked together as a team to prepare for the upcoming work week.

We didn't have the modern comforts that I am used to, even in our "hotel". I also found that I was pretty tired by the end of the day and was able to get to sleep much faster than I usually do at home. By the end of our time working I had earned a pretty bad back ache. I imagine it was a combination of hoeing, shoveling, carrying cement and sleeping on a pretty poor quality bed. I say that knowing that the villagers that were working right alongside me likely did more hoeing, shoveling and carrying while sleeping on what was likely not as nice of a bed, and none of them were complaining!

I believe that while it was the most physically challenging, the activity I most enjoyed was doing the cementing. I know that part of it was the memories that it brought back to me of childhood activities with my family. But I also really enjoyed that we worked side by side with the people that we were helping.
A home in the village with a pile of gravel for the cement

To bring things to an end we had an afternoon of closing ceremonies. This was a difficult time for everyone. While the leader of the village shared his feelings of language being the only thing that made us different during the opening ceremonies we found that even with that gap we had grown very close to one another. It didn't really feel that we were different now! We all knew that we might not see each other again and that was very hard. Many of the people from the village told us that they would see us in heaven. They were so humble and also so happy. We were somewhat tired, many a little homesick, but all very sad to be leaving this great experience behind us.

I realize that words cannot really express the feelings that I had, and now three weeks later some of them are hard to bring back to full recognition. I hope that sharing this with others will help keep this alive for me and cause others to consider what they can do to serve other people. I'm sure that all of us have done some acts of service for others - try to remember the joy that brought to you.


My Challenge


I close with a challenge to everyone who reads this. Even if you do it for the "selfish" reason of bringing joy to your life know that you will also bring joy and help to others - if you follow through. Watch for opportunities to serve others. Make it personal, find someone, close or far, who you can help. Do something, big or small, to help someone else. And do it often. I believe that keeping it personal will bring the most benefit to you. 

It is possible to provide help in other ways. Consider following one of the links at the top of my story and donating to these organizations to help their causes. Or find an organization close to your home, or that focuses on an issue that you are passionate about. Many of these organizations are able to make great things happen when they have enough support. 

I know that you will feel the joy of this service and others will benefit from it. It will make your life, your community and the world a better place!

Please remember to share your experiences and let others know of the experiences you have. We'll all be better for that!

Jul 29, 2015

Commercial Use Royalty Free Images

I'm often looking for stock photos for posts, presentations and courses. I found the link to this blog post today and wanted to capture it for my future use and for others to consume. I have not checked out all the links yet, and the post is nearly a year old now, so some things might have changed.

But hopefully we'll all find some awesome images from these sites.


27 Superb Sites With Royalty Free Stock Images for Commercial Use

Thanks Dave Lang!

Of course I needed to include an image to include in this post - the one I picked is from from Unsplash!


Jun 24, 2015

Studying for the AWS Certified Solution Architect - Associate Certification

I took, and passed (yea!), the exam for the AWS Certified Solutions Architect - Associate certification. I took the exam on June 15th, 2015.

I wanted to start to share some of what I did to prepare for the exam - and hope that others are able to join me! I'm planning on a few posts about this exam, and my preparations - and I'm planning on continuing on with the AWS Certified Solutions Architect - Professional exam soon too, so more posts about that in the near future as well!

Here is a quick list of the main steps I took:

  1. I signed up for the 1 year "Free Tier"
  2. I worked through some of the free labs at QwikLab
  3. I reviewed the exam blueprint and read the suggested whitepapers
  4. I worked through the sample questions offered on the certification site
  5. I took the practice exam offered by AWS/Kryterion
  6. I reviewed various FAQs for the "Products and Services" included in AWS
  7. I used my AWS Account to practice, test and learn things I had questions about
  8. I scheduled my exam with a not so local Kryterion testing center
  9. I took my exam
I'll expand my thoughts about each of these steps in future posts!

Good luck to all who decide to join me in my quest!

May 22, 2015

AWS: Setting up an IAM User with Multi-Factor Authentication (MFA)

Introduction

When you setup your Amazon Web Services (AWS) account you create a root user that has full privileges in your account. These credentials are not able to be restricted and should be safeguarded. If they fall into the wrong hands someone else will have full control of your account. We all know that credentials should not be shared, but we also know that at times it does happen.

AWS allows you to create up to 5000 users within your account (see IAM Limitations). By default these users have no rights when they are created. But you can grant the user a highly customized set of  rights including full control of the account.

It is a best practice within AWS to immediately setup users through the IAM feature. Included in this is a practice of creating an IAM user for you, the administrator of the account, to use for all of your work. Once this is done you can lock away the root account credentials so no one has to use them and no one else will ever be able to "own" your account. There was a very good presentation on this, and a strong case made for creating yourself an IAM user at a security session at re:Invent 2014 (SEC305 - IAM Best Practices)


Creating an IAM User

IAM Users NavigationTo create a user that will have the administrative rights that you need to fully manage the account navigate to the IAM Users page. Click on "Create New Users" and you will be allowed to enter up to five new users at a time. There is an option to create access keys for the users. Access keys are required to make secure calls to the AWS service APIs.

When creating new users you are not prompted to create a password. Once the users are created you can select a user from the list of users and manage information for that user. If the user will need to access the AWS Managment Console you will need to create a password for the account. For our purposes be sure to do this.

When assigning a password you have some of the standard options. You can provide a custom password, or allow the system to generate one for you. You can also force the user to change the password the next time the sign in.

To give the new user administrative rights you also need to attach the "AdministratorAccess" policy to the user. This can be done by selecting the "Attach Policy" button on the user properties page. via a link on the user details page in the AWS Management Console. This will list the policies available within your account and allow you to select up to two policies for the user.

Simply attaching the AdministratorAccess policy will not allow the IAM user to see the billing information. To allow this you will need to be logged into the AWS Management Console as the root user and follow these steps:

  1. Navigate to the "Billing and Cost Management" page for your account
  2. Select "Account Settings" from the left navigation list
  3. Scroll down the page to the "IAM User Access to Billing Information" section
  4. Select "Edit" for this section
  5. Check the box for "Activate IAM Access"
  6. Click on the "Update" button

Once you have created a user you will use this URL to login with that user: http://.signin.aws.amazon.com/console. You can see your specific URL and customize it by visiting the IAM Dashboard page. Below is an image of my page.

IAM Dashboard Page
IAM Dashboard Page


Add Multi-Factor Authentication

Multi-Factor Authentication (MFA) forces and extra challenge for a user to authenticate themselves. Typically you are challenged with a requirement to provide a username and a password. This is something that you know. Adding MFA also requires you to have something. So you end proving that you both know the correct information and that you have needed evidence.

AWS uses devices for the having part of MFA. There are two commonly used solutions for this. One is software based and the other hardware based. I have setup both for users in my AWS account. I first used a software based solution. Since I currently carry a Windows Phone I installed an application named "Microsoft Authenticator". There are apps that are available for both Android and iPhones as well.

I have also purchased 2 different devices that Amazon uses for hardware solutions. These are devices from Gemalto and are available as a fob that you can easily attach to a key chain and as a credit card sized device that presumably you could carry in a wallet. The credit card token seems like it might not survive a week in my wallet - but I might be wrong. You can find details about these options on the AWS website (MFA Details).

To configure MFA for a user navigate to the user details page and select "Manage MFA Device". Walking through the configuration you will first indicate the type of device you are configuring, either a software or hardware device. You will associate the device with the account. For a software device you AWS will give you a secret key to enter on the device, luckily this can be done by scanning a QRCode with your phones camera. For a hardware device you will enter the devices serial number into AWS. You will then provide two consecutive 6 digit numbers that are generated by your device and the MFA configuration will be complete.


Logging in with MFA

Once you have configured your new user with the administrator policy and setup a password and MFA device navigate to your IAM signin page (it should be at http://.signin.aws.amazon.com/console). The account should already be populated on the page, based on the URL you provided. Enter the username, the password and click on the checkbox indicating that you have an MFA device configured. Then get the current 6 digit key from the MFA device and login.

You are now able to administer your AWS account with your new IAM user.


Windows PowerShell for AWS Commands

Below are the PowerShell commands that would be used to do the work described above.

To create a new IAM user with the username of Mike:

New-IAMUser -UserName Mike

To create a password for the user with the username of Mike:

New-IAMLoginProfile -UserName Mike -Password

To reset the password for the user with the username of Mike:

Update-IAMLoginProfile -UserName Mike -Password

Attach the AdministratorAccess policy to the user with the username of Mike:

Register-IAMUserPolicy -UserName Mike -PolicyArn arn:aws:iam::aws:policy/AdministratorAccess

Enable a hardware MFA device for the user with the username of Mike:

Enable-IAMMFADevice -UserName Mike -SerialNumber -AuthenticationCode1 -AuthenticationCode2

Setting up a software MFA device can be done with PowerShell, but it does require multiple steps and is, in my opinion, not worth it. If you are using a software MFA device I recommend following the instructions above to complete the setup from the AWS Management Console.

I hope this was helpful!

May 15, 2015

Thoughts on Technical Certifications

I earned my first technical certification in 1996. Since then I have passed a total of 26 Microsoft exams. I have also earned other certifications from other vendors including trainer certifications and Java certification. I realize that there has always been a mixed reaction to certifications in the technical community. It seems that early on certifications on the IT Pro side of the industry was very common, and even a requirement for many jobs. The same level of acceptance has never seemed to exist for developer certifications.

Since this is the case, why have I taken a relatively large number of certification exams, and why am I about to embark on another series of tests? The main push for me has been to give myself a measurement of my learning. I have felt like the exams set a bar of understanding or knowledge on a topic that the vendor feels demonstrates an acceptable level of comprehension of the topic.

One of the complaints that people have about certifications is what has been called the “paper certification”. This is how people refer to those who simply cram information into their heads only long enough to pass an exam. Sometimes this comes from people using various exam cheats that are widely available. I have never used these cheats and I never will. I have taken the path of research, study and hands on experience to prepare myself for the tests I have taken. I have never earned the certifications for others - I've earned them for myself. If they give me an advantage in others eyes that is great, but the real purpose for me is to test my knowledge against the metrics outlined by the vendor. (Update - I just found this Dilbert cartoon that jokes about this kind of situation: http://dilbert.com/strip/2000-08-31)

I have also taken part in the blueprinting and creation of a few certification exams. This has given me better insight into how the vendor sets those metrics and what they mean. Having participated in the process of creating exams I know that there are many opportunities in the exam creation process for picking the wrong things to focus on and measuring skills that do not matter so much in actual usage. However I feel that there are also many checks in place to minimize the number of these “misses” on the exams. There are experts involved in the creation process and they work together to make a final product that they can each be proud of – just like the majority of people who work on software projects. The process, and outcome, are seldom perfect, but the certification can still be useful.

Neudesic has been involved in the Microsoft Cloud (Azure) since before it was publicly announced. I have had exposure to, and worked in Azure since those early days. I earned the first Microsoft Azure certification and ran an Azure focused user group in the Salt Lake City area for a few years.

Recently I had the opportunity to take a class on Amazon Web Services. It was a short class that focused on solutions architecture using AWS. Through this and other study I have had an introduction to many of the features of the Amazon Cloud and am now pursuing the Amazon Certification track.

I am starting with the AWS Certified Solutions Architect – Associate exam. After earning that designation I plan to continue with the Professional certification. The Associate certification is a prerequisite to the Professional level – so it is a mandated path I am following.

For information on the AWS certifications check out this site: https://aws.amazon.com/certification

Watch for some AWS focused posts in the future. And hopefully I’ll put some content together for one or more new Pluralsight courses too.


What are your thoughts on certification? How have you studied for exams in the past? What is your next planned certification?

May 8, 2015

What Made them the Greatest Generation and can We Be Better Too?

As we mark the 70th anniversary of V-E Day it is worth thinking about some of the traits of those we call the “greatest generation”. Both of my grandfathers worked in critical support roles for the war effort resulting in neither of them joining the military and directly participating in the war. My dad’s father worked for the rail road, and my mom’s dad worked at the large open pit copper mine in the Salt Lake City area.
I found this story in the USA Today this morning. It is a great tribute to a father who did serve and should be honored: Voices: My dad was a fitting member of the "Greatest Generation". I particularly liked the points where the author recounts her dad saying “I’ll do this for you”.

I don’t want to be too simplistic in my assessment, but I feel that attitude was very common in that generation, but is being lost as we move further away from those times. I mentioned my grandfathers not serving at the beginning of this article – they and many others of that generation had that attitude too. Those were times that neighbors knew each other and watched out for each other. They seem to have truly felt, and showed, a love for one and other and a desire to help and serve each other.

I was honored last weekend to meet an elder gentleman and have a brief conversation with him and his wife. I learned that he had just celebrated his 95th birthday and that he had served in both World War II and in the Korean conflict. His wife proudly let my son and I know that he had retired from the US Army as a full Colonel. He still looked fit and full of life, she was bent over and walking slowly with the help of a walker. I met him as he was serving her, helping her into a restaurant.
We met Colonel “Pete” and his wife as I was rushing out of a restaurant. I had taken my youngest to eat after his baseball games and I was late for a meeting for a service trip that my daughter, wife and I are going on later this year. I was in a hurry and walked past them as I was heading for the truck. They were about 10 yards from the door to the restaurant. My son stopped and held the door open for them even though they were a ways away and moving slowly. When I stopped Pete and I began to talk.

It was a wonderful experience to meet him and learn a little about his life and his family. It was great to see his wife so proud of the man she had married so many years before. My son gave me an opportunity that I would have just rushed by. Colonel Pete, I did not get his last name, was very impressed by my son performing that little act of service, simply holding the door open. He commented on what a fine young man he must be.

I must admit that nothing makes me more proud of my children that to hear people comment on how polite and caring each of them are. They excel at many different things and I am proud of them for that. But every time I’ve heard a teacher in parent teacher conferences talk about how they treat others I am filled with pride. I believe that is what really counts, that is what show’s their true character.

I’d like to know what the world would be like if more of us, more often took time to meet and serve strangers in our daily activities. It is so easy to be in a rush today. It can cause us to miss great opportunities. I may never see or talk with Colonel Pete or his wife again, but my life is better for the time I did. I challenge you to seek out opportunities in the next week to meet and serve someone. It may change their life, and I believe it can certainly change yours! Let’s try to emulate some of those traits that were so well demonstrated by our “greatest generation”

What traits do you see in others that you believe emulating would make us better?

Apr 30, 2015

How Close is Your Professional Emergency Response Team?

There are times when each of us needs to have the support of someone to get through a difficult or challenging time. I believe most of us have people who we know will help us out when we are in need. And I hope that each of us is prepared and willing to help others in their time of need. But how quickly will this help be rendered?

A short time ago I was traveling with my wife to see some of her family in the Boise Idaho area. It is about a 350 mile drive with several stretches of many miles that are sparsely populated. Sometime after crossing the Utah / Idaho border I saw emergency vehicles traveling in the opposite direction with their lights and sirens on. There were three different vehicles, a police car followed by an ambulance followed by another police car. But each of the emergency vehicles were separated by a few minutes.
I thought about how someone must be in trouble and in need of those emergency services, but there was a delay because of the distance from “civilization”. I was concerned that the emergency responders would not arrive in time to provide the needed assistance, and knew that there would also be further delays in getting the injured person to a hospital.

It reminded me of a time several years ago when my wife and I were walking down the street in New York City. There was also an ambulance trying to navigate through traffic with their siren on, obviously trying to care for someone in need. This time I expect that the emergency responders were physically rather close to the person in need. But my wife and I actually walked down the street faster than the ambulance was able to drive it.

So it seems that getting help to someone who needs it takes more than just being physically close to them. There must be a level of accessibility that goes beyond being physically close.
As I was driving along thinking, and on that drive there is plenty of time for thinking, I thought about how this can relate to our professional lives. There are times that we need help. We might have a difficult problem to resolve that we know others have faced. We might be in need of finding new employment. Or we might simply benefit from a talk with someone to share some insight or encouragement.

How close are those professional contacts or friends to you? I don’t mean physically, I mean emotionally. Have you maintained the relationships in good order so that you can call on others when needed and be of service to them in their time of need?

Today this does not require being physically close, we can easily maintain relationships across time zones and even national borders. I encourage you to take some time to reach out to people in your "network". Work to keep the relationships fresh and in working order. I believer this can make your life nicer every day and can really benefit you when an "emergency" happens and you need some quick care for others. Just as important, it keeps you in a position to help your friends in their time of need.

Mar 31, 2015

Books: Audio, eBook or the real thing?

I have a strong believe that reading is a great way to learn things and to get different points of view on topics that are of interest. Over the years I have taken different approaches to reading. I have also gone through stages where I consumed books at different rates.

Over the past several months I have read quite a few books, or at least it seems that way to me. of the top of my head I would guess that I have read at least 15 books in the past 5 months. These books are not fiction, they have mostly been business or technical books. I have also read a couple that tell the real life experiences of a couple of people: Unbroken (now a movie) about Louis Zamperini and Hal Moore: A Soldier Once... And Always (also portrayed in a move - We Were Soldiers).

A few years ago I shared that the main way a was "reading" was by listening to audio books. Most of these books I bought from Audible, and I'm still a fan of audio books, but I find that I am now listening mostly to podcasts, and not to very many books. I currently feel like consuming shorter content, that is very new, is the best way for me to spend the time that I listen to content.

Most of the reading I currently do is on my Amazon Kindle. I find that having several books that I can easily carry with me helps me to get the most of of published books. I usually focus on just one book at a time, but I have been known to skip between 2 or 3 at once. Right now I'm at differnt parts of three different books. I find that actually reading the books, instead of just listening to them, is giving me more value out of reading them. And I find that reading an ebook is much faster for me than reading a physical book.

The final type of book is an actual physical book. I find that I am reading these more slowly than I tend to read an ebook. I wonder why this is the case, and I believe that in part it is because I less often have the physical books with me. But I am left wondering if there is more to it than just that. The last two physical books that I have read are: Resonate: Present Visual Stories that Transform Audiences by Nancy Duarte and Leadership Vertigo by S. Max Brown and Tanveer Naseer. Why did I choose these in real paper instead of ebooks? First Resonate is such a visual book that I did not believe it would really "work" as an ebook. And I was certainly not disappointed to have such a beautiful book in my hands. And Leadership Vertigo was given to me by Pluralsight at the Utah Code Camp - but I will be buying it as an ebook to have with me all the time to reread and refer back to.

So my question to you is how do you like to read? What are the pros and cons you see to audio, ebooks and physical books? Are there types of books you prefer in one format over another? Do you find yourself reading more in one format? Finally what is the favorite book you've read in the past year? I'd like to find more to add to my reading list!

Jan 20, 2015

Book Review: Scrum: The Art of Doing Twice the Work in Half the Time

My first introduction to agile software methodologies came several years ago when I stumbled on Kent Beck’s book “Extreme Programming Explained: Embrace Change”. I remember that some of my first thoughts were that the current approach to creating software was not working and a radical change just might be the answer.

Finding that book started a journey for me. The journey continues today – it is to find better ways to create software and to improve the way in which teams work. There are several flavors of agile in use today but Scrum is one of the most well known and accepted.Scrum The Art of Doing Twice the Work in Half the Time

I stumbled on this book while browsing around Amazon a while back and finally decided to buy it. The author, Jeff Sutherland, is the co-creator of scrum. I decided that the insights he might provide would be very interesting. At about 250 pages it is a pretty short book and a quick read.

The book really focuses on the “why” of Scrum. There are three key things I got from the book:

1) There are some descriptions of projects that have successfully been coached in Scrum and had extraordinary outcomes. The author shares experiences he has had in turning projects around It is interesting to understand the history and evolution of Scrum.

2) Understanding of the roles and processes and “keys” to successful Scrum.

3) The use of Scrum in non software work.

Here are my more detailed thoughts on these points:

Evolution and Success Stories of Scrum

I found it very interesting that the author had been a pilot for the US Air Force in Vietnam. He related that his Air Force training had taught him to do four things to control risk. The acronym is OODA: Observe; Orient; Decide; Act. As soon as these steps were complete the pattern would need to start again, observing the new reality, orienting to the new possibilities, deciding on the best course of action and executing those decisions.

He relates stories of several projects that he was a part of or that he was brought in to help with. The story of the birth of Scrum is recounted in his work at Easel where his team transformed the way they worked which helped them to deliver their product on the assigned 6 month schedule, under budget and with a lower rate of bugs than the team had previously been able to achieve.

The second story that really struck me was the salvaging of project “Sentinel” for the United States Federal Bureau of Investigation (FBI). While there are challenges with any project, especially large ones, this had the added headaches of being a government project. It had technical challenges to be sure, but it also had to deal with a wide array of stakeholders. And while it might just be the cynic in me I believe that not all of the stakeholders were as focused on the potential results of the project as they should have been, but possibly more interested in how they could leverage their involvement into political clout or gain. After years of work, and the expenditure of most of the budget, an assessment was done that estimated it would take another 6 to 8 years and another $350 million to finish the project. The net result of switching the approach of driving the project to Scrum was finishing the delivery of the project with a smaller team, for a small percent of the original budget and delivering it in 20 months. When you see those results, especially in what could be considered a difficult environment, it is worth looking into. To get a more of the details of the FBI project drop by a bookstore and browse through chapter 1 of the book.

Keys to Successful Scrum

My thoughts about the keys to successful Scrum are influenced by several factors including my experiences, my recent training to become a Certified Scrum Master (CSM) and things I’ve read. This book included many points that validate what I have learned and experienced in the past as well as giving some new insights.

The key that continues to stand out for me is trust. I do not believe that success is achievable without trust between all people involved in Scrum.

The team members need to trust each other. I have typically found this to not be too big of a problem – but if you see it you must attack it quickly and come to a resolution. This supports another key point of having self-directing teams. When teams trust each other they are better able to take on and support others in their tasks. It is also somewhat cyclical, when you trust people tend to perform which leads to even greater trust.

I have worked in consulting for several years, and it is something that I really enjoy. Unfortunately I have seen a lot of mistrust between the client and the consultant. And this often goes both ways. I believe that it is difficult to establish this trust, but when you can, and each party performs it becomes cyclical just like it does in the Scrum team.

I find that often trust issues result from a failure to see things through the eyes of others. The author brings up the point that it is natural for us to see our actions as being driven by circumstances and others actions being driven by character. When we make “poor” choices we rationalize it as responding to the current environment. But when we see others make what we consider “poor” choices we attribute it to a lack of character. These attitudes kill trust!

Then next couple of keys I identified from the book were again a validation of my previous thinking and experience – but they were enhanced by the language and the examples in the book.

The core key here is that people must be dedicated to the project – not in the sense of their attitude to the work, but rather in their work assignments. We act today as if multitasking is a good thing. We often pride ourselves on our ability to juggle multiple tasks and priorities. Research has shown that is a productive way to work. One of my favorite time management techniques is the Pomodoro Technique. The key to that is to focus on only the most important thing for 25 minutes, then to break for 5.

In Chapter 5 a study is presented that shows that multitasking is not only a drain on productivity, but it also makes you stupid. If you believe that study, and you want a productive, and smart, team working on the project you can see the point of focused assignments of projects. The other point backing up this key is actually the title of Chapter 5 – “Waste is a Crime” – let that one sink in and read the chapter for the authors thoughts!

The author also talks about the team size having a major impact on the success of Scrum. There are different thoughts and “rules” about this in the industry but he recommends that a team should be 7 people (plus or minus 2). Most of the projects I have worked on have been made up of many teams, and the typical team size is larger than that. Because of this I can’t really confirm this point, but I know (from experience) that multiple teams and large teams do create many challenges!

The next thought is that a happy person is a more successful and productive person. It seems that most of our reward systems today are based on the completion of achievements. There is a lot of research that tells us that those rewards (carrot/stick mentality) are actually harmful to attitudes and success. I’ve recently read another book that focuses on that directly (Drive: The Surprising Truth About What Motivates us – by Daniel H. Pink).

We need to keep ourselves and our teams happy and enjoying the day to day work of the project. What motivates most people is not the end of the journey, but the journey itself (I recently tweeted this: It is said that happiness is not found at a destination but rather from the journey. Are you on a journey of happiness?). I believe that – but it can be difficult to remember that in the daily battles that we find ourselves.

For those that have not worked in a well functioning Scrum world you will find that it is a real change of culture. It is much more that just learning and following some techniques and ceremonies, it really does require a change in your thought process, your interaction with others and the way that you work. Really a change in attitudes and focus!

Non Software Work with Scrum

The final point that really struck me from reading this book is the areas in which Scrum is being used. Scrum was developed in a software/technology focused environment. I have always worked in the same type of environment so naturally that is how I have seen the world, and how I have seen Scrum.

I found it very interesting that Scrum is driving cultural changes in many non-technical businesses. This includes education, journalism, manufacturing, volunteer humanitarian efforts and even government to name just a few.

If you are interested in how Scrum is changing the non-software world be sure to read Chapter 9!

What have you read?

What books have you read on agile methodologies that you would like to discuss or recommend? My reading list is long, but I’m always looking to add good books to it!

Jan 2, 2015

Business and Leadership Podcasts I Listen To


I have two general types of podcasts that I try to follow. The first type is focused on technology and the second on business and leadership. Below is a list of the business and leadership podcasts that I am currently trying to keep up with.
Please share any related podcasts that you have found and enjoy so I can check them out as well!
  • Entreleadership: This is very focused on leadership with a particular slant towards entrepreneurs. I usually find this a very good show to listen to. They publish every two weeks and shows run about 30 minutes, so it is pretty easy to stay up to date. This is from Dave Ramsey’s organization – I know some people love him and some hate him… that will likely influence your liking of this podcast. He also as a book titled “EntreLeadership” which I also found very enjoyable. (http://www.daveramsey.com/entreleadership/podcast)
  • The Chris LoCurto Show: I was first introduced to Chris LoCurto from the Entreleadership podcast – he was the original host. He later left the Dave Ramsey organization and went out on his own. Much of what he does in his new company appears to be focused on life plans and the pursuit of personal growth. The podcast typically focuses on such topics. I find it great for personal growth and leadership skills. Currently there are three episodes published each week, so it is a little harder to stay current on this one. Episodes typically range between 15 and 30 minutes. (http://chrislocurto.com/podcasts/)
  • Startups For the Rest of Us: This podcast has a lot of information about startups and how to make them sustainable. It does have a technology theme, and covers ways to start and grow a business. Episodes are about 30 minutes long, and I only pick and choose which ones I listen to because of limited time, but I have found some value in them –for the entrepreneurial spirit. The show is published once a week. (http://www.startupsfortherestofus.com/)
  • This Is Your Life with Michael Hyatt: I have just found this in the past couple of weeks and am trying it out. So far I have been pleased. Michael Hyatt published a book titled “Platform: Get Noticed in a  Noisy World” in 2012. I have not yet read the book, but it is now on my list. Michael and his co-host Michelle work well together and seem to be well prepared for each episode. Topics covered range from personal development and leadership to productivity. (http://michaelhyatt.com/thisisyourlife)
  • Read to Lead: This is brand new to me. I found this just a couple of days ago and have just listened to my first episode. I went back to an older podcast to give it a test. I listened to episode 43 with Simon Sinek talking about his book “Leaders Eat Last: Why Some Teams Pull Together and Others Don’t”. I recently read this book (blog post with a review coming soon) and found it a great book! I figured this would give me some good insight into the podcast. I was pleased with my listen and plan to continue to give it a shot for at least a few more episodes. One thing I did not like about this show is the relatively long introduction – it seemed to take a long time to get to the meat of the show. (http://readtoleadpodcast.com/)
I listen to most of the podcasts on an iPod as it is the best device I know of that allows me to listen at an faster playback speed without people sounding like the “Chipmunks”. I also do most of my listening while either exercising or flying. I tend to do too little exercising these days and too much flying.
If you have a suggestion of an application for listening to podcasts at a fast playback speed on the Windows Phone please share.
As requested above please leave comments with a list of personal development, business or leadership podcasts that you listen to. I’d love some suggestions of others to try!
Watch for an upcoming post on the technical focused podcasts that I try to follow.

Sep 15, 2013

My First Pluralsight Course–Introduction to UML

Last week my first Pluralsight course was published. The course is titled “Introduction to UML” and it can be found here: Introduction to UML. The course covers some of the history of UML, the basic building blocks that are used by many diagrams and coverage of 8 common UML diagrams.

I have been using Pluralsight training for a few years and I highly recommend them – and not just because I am now an author! If you haven’t tried Pluralsight yet you need to head on over to their website and sign up for a free trial (or contact me and I’ll get you set up)!

I hope you will take the time to watch my video, if you do please let me know what you think. Also, if you have ideas for other Pluralsight courses that you would like to see me create please let me know.

I’m starting work on my next course and it should be available before the end of the year.

Apr 27, 2012

Book Review–Running Lean by Ash Maurya

I found this book to be very thought provoking. Several years ago I worked as an independent consultant and really enjoyed it. But I always only sold my time. I think most people who do have a entrepreneurial spirit understand that to really succeed you must leverage this and sell something more.

This book focuses on how to approach the creation of a product with constraints placed on you and your team. It is pretty common to have minimal resources when starting a business. This includes money, people and the ‘right ideas’. Below are some of my thoughts about each of these limited resources and some of what I took away from my reading of the book:

1) Limited Money: The author talks about how it can be difficult to raise money to fund your startup – but follows up with this actually being an advantage. Here is a quote that I particularly liked:
"Constraints drive innovation, but more important, they force action. With less money, you are forced to build less, get it out faster, and learn faster."
Having “too” much money could actually keep you from the hard driving and tight focus that is required to actually get a product out the door.

2) Limited People: Another issue the author talks about is the limited people that are typically available to a startup. This often means that you (and others) will need to fill multiple roles on the team – often with each role being something that would be a full time job. This again helps to keep a focus on doing the most important tasks, and knowing that some things simply will not get done. Be sure that understanding your customer (#3 below) is not one of the things that you let slip!

This is where you will call up any and all learning from your past about prioritization, organization and effectiveness. You will need to decide how best to schedule your days, weeks and months to maximize the efficiency of the work you do. The author calls out that he has found scheduling customer interviews on Mondays and Fridays to less effective than doing this midweek. Also, if you are actively building the product you will want to be sure to have some blocks of time that you can get in ”the flow”. Here is another section out of the book:
"Activities that flow typically have the following attributes:
  • They have a clear objective.
  • The need your full concentration.
  • They lack interruptions and distractions.
  • They provide clear and immediate feedback on progress toward the objective
  • They offer a sense of challenge."
The author has found that early mornings are often best for him to achieve this flow – I find that late nights currently work better for me.

3) The ‘Right Ideas’: The author brings out the point that it is very easy to focus only on your desires and experiences when working to create a product – but cautions against this and talks strongly about the need to work very closely with your targeted customers. Be sure that you have an understanding of the pain points of your target customers and that you are not too focused on only your experiences or your desire to implement some fancy technology! Again a few quotes from the book should help illustrate the authors thinking:
"Given the right context, customers can clearly articulate their problems, but it’s your job to come up with the solution"
"Customer Discovery is about exploring what you don’t know you don’t know"
In this section of the book the author also quotes Henry Ford “If I had asked people what they wanted, they would have said faster horses.”)

A large portion of the book really lays out a plan to be sure that you have a very open conversation with your users (or potential users) and to ensure that you learn from them what their ‘real problem’ is and validate your solution to that problem.

I really enjoyed reading this book and highly recommend it if you have any thoughts of starting a company or building a product. But even beyond that, I think that it can open your mind to some new ways of thinking and delivering whatever product or service you deliver – even to your employer.

A final quote from the book that sums things up pretty well (in my opinion):
"Running Lean is a systematic process for iterating from Plan A to a plan that works, before running out of resources."
You can find the book on Amazon here:
http://amzn.to/mgerickson_RunningLean

Or find the product page for the book on the O’Reilly site here:
http://oreil.ly/mgerickson_Oreilly_RunningLean

Disclosure: I was given a copy of this book to review by theO’Reilly Blogger Review Program