What really matters?

Disclaimer: This post uses fck in place of something. I am sure many of you know what that means. I am not trying to be vulgar here. Instead this is a word used throughout the book I speak of and so why change it…

So I bought a new book to read, “The Subtle Art of Not Giving A Fck” by Mark Manson. (https://markmanson.net/books) So far the book is really good but this is only through Chapter 1. The first chapter, titled “Don’t Try”, was eye opening into how many fcks I probably give about things and why I drive myself nuts on a regular basis. I am always trying to be better, achieve some new goal, and be something to someone who probably in their own mind doesn’t give a fck about me, why should I care how they see me?…

So how did I find the book? Well, I am a subscriber to Code Magazine and while sometimes I just file away the new issue like it is some precious archive in my library, I actually had time and decided to read this issue. In the issue was an editorial talking about focusing on what really matters. What really matters? This is something I often think about and believe has become clouded with too much interference the last few months that I have lost that sense of what really matter. In the beginning of the article the author talks about the experience of reading the book that I mentioned above. That’s it… Saw it in an article that caught my eye and decided to go online and get a copy. Now I read…

Chapter 1 of the book, “Don’t Try” already has reached me. Don’t try… what do you mean, don’t try… but if I don’t try I can never be successful, rich and happy, right? WRONG!!! Don’t try doesn’t mean literally do not even try, pack it up, leave, it’s never going to happen. No, instead,  don’t try means don’t do something to the point of pushing yourself to do something because of a pre-conceived notion of what success is. The pushing yourself, the forced effort, that entire journey isn’t a positive. The positive is accepting the outcome no matter what and doing it because you want to. Why do I have to give a fck, why do I have to care about someone else’s definition of success when I am happy with mine?

That last piece is something I think I have forgotten as of late… I give too many fcks when it isn’t my place. I needed to hear that and to focus on what really matters. So, What Matters to Me?…

  1. My kids… I want them to be happy, learn, grow and experience life. I want to spend a good deal of time with them this year. Laugh with them, cry with them, just be with them. The way I figure I have at most another 2 years before eldest is on her way to college. Let’s make the most of every day!
  2. My wife… We’ve already cried so much together, been through thick and thin and battled our way to what will be 16 years of marriage this year. Time to really put our life together to the test and see if happiness is more than a word or a label.
  3. My mind… Yes this one is weird but I value my mind for the knowledge and the creativity and thought processes it takes me on. I am happiest when I am lost in my thoughts, thinking about something, learning something obscure or just solving the puzzles that come with the programming I do so much. I want to get back to my code. I want to stop trying so hard and just do.

That’s really my goal for 2018 (not be mistaken with new year’s resolutions, I don’t do those..). My goal is to do more and just be happy or at the very least accept things as they are and stop trying so hard for notions that aren’t even mine.

Has It Really Been Over a Year!

WOW! I have not blogged or posted anything to this site in over a year. That is bad… I must try and post more often. I also need to do some maintenance to this site and my godaddy.com experience in general as this site is very slow. So first a couple goals for the upcoming weeks:

  • Improve site performance (possibly a new template or something)
  • Post at least 3 times in the next 2 weeks and 1 post every week thereafter

Now on the plus side I have had a lot happen in that year of absense so there should be a lot to talk about. Look for future topics on:

  • My decision to leave the Guild and pursue a startup
  • Development in Electron/NodeJS
  • Development using Electron-Edge to access .NET code from my electron app
  • Kinect Programming
  • Unity 3D programming
  • Leadership, mentoring junior developers and IT staff
  • Leading from the trenches to improve productivity and chemistry
  • Development of my own MVC ASP.NET web application
  • Implementing Git in the workplace
  • and much, much more…

Another post I will be sure to get off here in the next few days is my initial review of the Google Pixel 2 phone as I just upgraded.

Stay Tuned!

Nike Run Club Rebranding Woes

I have been an avid user of the Nike+ running application for a number of years. When I first started using the application it was clean, simple and an overall great app. The relationship grew to a partnership as I started using Nike as my sole running application. Fast forward a few years and over 2000 miles running and Nike has rebranded their application to Nike Run Club. My first thought is why fix what isn’t broken. The application works just fine, I actually even avoided the update as long as I could because I did not understand why the change. Then the unfortunate happened where I had to reset my phone and had no choice but to go with the new rebranded application, Nike Run Club.

My first run was a disaster… The music kept stopping, the run paused way too many times, the GPS is no longer accurate, or at least the old application and every other application I have used disagree with it, and my phone won’t leave the running statistics up. When I am running all I ask is that the application stay on, it can even dim to save battery and allow me to hear my music. I accepted that maybe I didn’t know how to use the application yet and maybe there were new settings that I was missing causing some of these issues. NOPE… Settings were good and haven’t found anything I can do to make it work. The most frustrating part was running and having the GPS off by .07 – .1 miles off and keep pausing. At first I thought there was an issue since I was in the woods, but the old application never failed in the same spot. I also had the pausing in an open spot, no trees and no excuse for the pausing. Turning auto-pausing off seemed to help the pausing but GPS still not good.

Once my run finished, my nerves were really tried. In the old applications I could set where I ran (road, path, etc), how I felt, and add a note. All GONE. I could automatically share on twitter, GONE. I could share my run stats, GONE. All of this is replaced with POSTERS. WTH are POSTERS?!! seriously, a picture that I can put together that doesn’t even appear to scale well on social media. WHY??? I couldn’t believe the fact that they took a solid application like the previous version and made it so awful.

I gave this application another few tries before I decided this was just too much. I couldn’t stand that they broke the sound, awesome application I was use to. I went to search for another application.

Today I went back to see how the new version 2.0.5 would do and it is better than before but far from the previous version still. The music only died on me once, the running statistics would not stay up but the lock appeared to make it come up first when I woke the phone back up. The sharing on Twitter still sucks. I don’t like the controls. I really find the app very unfriendly now.

I really don’t understand rebranding and breaking so much of the core functionality of the application. I may give Nike another chance if they release another new version but I am already on the lookout for a new app. This appears to be a case of a development team padding resumes or doing something because it seems hip and cool as they have not rebranded the site to match the phone app. WHY? I thought the old app was getting good ratings and well liked. Why change it to make it so awful and have to start from square one again.

My recommendation to the Nike team is the same as I have seen others make, go back to the old application. Figure out what you were trying to do with the new app and add some of those features. Don’t use the current code base anymore, go back to what worked. enhancing what has solid features will be easier than trying to fix what you have now. just my thoughts.

 

Initial Look at .Net Core

In the last 2 days I have done something new and jumped straight from the diving board and into the pool that is the .Net Core. No more researching and thinking about it just going to dive in and code a few things, watch some videos as I go and all the research will be inline with a project or purpose. Trying to avoid that analysis paralysis that I have so awesomely perfected…

To start, the .Net core isn’t too much different than .Net, really (duh!)… C# is still my language of choice and I have created two applications and dissected them to the point of being able to show someone how to write them on their own already. The one application is the famous “Hello World!” that every programmer has to do at least once just to see it. Then, of course, I had to dive into the web realm a little and see what trouble I can get in there. I wrote a standard ASP.Net Hello World application to see the beginnings of the web architecture. So far, so good.

Getting started I looked at the following site: .NET Core

I also had already installed Visual Studio Code from a previous use of the editor. I did update it before I started this process. I also told myself that for better or worse I would stay in VSCode for all of my workings for the time being to give it a fair shot. This turned out to be a big distraction in and of itself as I got caught up in git within the editor.

I know, me get caught up in git… Who would have thought?!?

What I have found is the following:

  • .Net Core on Mac has no more hand holding… Meaning the code is mind to write and there isn’t much to the project templates as without yeoman there isn’t much of a template.
  • Web applications still had the Program.cs and a Main method… Weird… I didn’t expect that.
  • Not having openssl led to a couple issues in the beginning. I didn’t expect this and plan to research this a little more.
  • command sequence = dotnet new -> dotnet restore -> dotnet run
  • Git appears fairly well integrated but has a few options that can get you in a lot of trouble (anything where you can undo… NO! WHY?!?! undo changes history, you shouldn’t try to rewrite history)
  • Current materials for the stuff are lacking and I can’t wait to attack this with a few friends!
  • If you want templates there is this thing called Yeoman which is next to play with
  • I also get to figure out Bower, Grunt and Gulp as they are installed as part of the tutorial I am going through.

so far I have to say I am not as big a hater on VSCode as I once was. Don’t get me wrong, it is still just a text editor but the fact that I can use the terminal inside the editor and I can navigate multiple solutions, play with git (basics -> add, commit mainly) is a bonus.

For those looking to get a start I would start with the .NET Core link above. Make sure that you get VSCode installed and ignore Yeoman, Gulp and Grunt and all the other stuff until you have something working. Then you can play with more toys. It’s like any good collectible game, start with the base set first. Make sure you learn how to play and that you like it before you go buying (installing) all the other expansions (features).

 

You can count on more to come here… I’m just getting started.

Changing the Past

So I just finished season 1 of the Flash on Netflix and the episode ended in a very profound fashion. SPOILER ALERT!!! (kinda anyway) The Flash had the opportunity to change something in his past and made the move to do so but then didn’t change the past. Instead, he said goodbye to what could have been and accepted what is. This immediately led to me wonder would I change my past if I could. I can definitely think of a couple events that I could alter that would have the same kind of profound effect but would I change them?…

NO…

The past happened the way it did for a reason. That reason is sometimes very difficult to understand or justify but there is a reason.

My life is what it is because of the events that have occurred. I think of the events that led to me applying for late admission to Cleveland State University and how my life would be different if I truly did go away to school and I don’t even get passed that… Mostly, because I was at Cleveland State when I started dating my now wife and we had our two beautiful kids then. I started my career on the path it has gone because of my connection to CSU and can’t imagine any other life. I don’t want to imagine any other life.

I have thought of what life would be in a two parent home and realize I am the father I am because I didn’t have my biological father around. I instead saw various people as role models and looked up to different people for different reasons. I tried to take all the good of those experiences and put that into what I thought a father should be. I know what I felt I missed and I won’t ever let my kids miss on that. I may not have had a father but they will have the best I can be.

Saying, “If only this one event didn’t happen” is easy. Because that event happened and there is nothing you can do about it. Living through that event and driving forward is hard, no doubt there. But if life was easy wouldn’t we all be millionaires living on a beach with yachts, cars and everything we always wanted?…

Team Culture

This past summer I was lucky enough to be witness to 2 really great teams. These teams were not both in sports, nor did they achieve any special recognition or accolades. One team was a group of girls looking to play softball over the summer. The other was a cohort of apprentices that really knew how to work together and bring each other up. In both cases I felt like the luckiest spectator to watch these teams do their thing and have so much fun doing it.

The Softball Team

So I will start with the softball team I coached this year. The team was made up of 14 girls of ages 10-14 (by the time games started) and we are stretching at least 4 different grade levels. In all accounts a recipe for chaos, cliques and players seeking individual glory, right? WRONG! DEAD WRONG in fact… I’d swear an outsider might think these girls were all sisters or something. They played as a team, they all seemed to get along and most of all they all had fun playing the game together win or lose. Alright maybe not sisters with how close they appeared without fighting, but you know what I mean.

In one specific instance the girls had just been rain delayed as the umpires saw lightning but it was not raining overhead. Where the other team scattered to the stands, dugout and surrounding area, my team was sitting in the right field grass in a circle playing a game together and enjoying the time away from the game as a team. They were laughing and playing and although they wanted to get back to the game they were happy to be with each other and having a change to have fun.

In another instance the girls were in the playoffs and playing their best. The game came down to a heartbreaking finish to where the girls lost the game and the right to play further for a championship. In one moment those tears of sadness turned to joy as one of the moms said, “Well, since we aren’t playing tomorrow how about a pool party”. Out of a possible 11 girls, 10 showed up the next day and stayed way longer than anticipated and had the time of their lives as a team. Even weeks later after the season had ended and was long gone, the girls got together again for a Lake Erie Crushers game and captured that same energy.

The Apprentices

My second story of culture is work related. I work as an instructor where I am leading apprentices through a difficult and challenging bootcamp to become Web Developers. This can be a very stressful time and can take anyone to the edge. There are many different personalities, backgrounds, ages, etc. coming together and really being forced together for 12 weeks. Under these circumstances you can’t expect that everyone will get along and you can’t ask them to. You can only hope that everyone can learn to be respectful and mindful of the others in the room. In most cases this works a lot like any office. You have the people you work with and then you go home and you don’t see them and are generally ok with that. This last cohort was a bit different…

Starting almost from the getgo, this cohort really communicated with each other. They would generally be quiet in the mornings but right around or after lunch you could hear the conversations on projects, ideas, and just general conversation. I have been very blessed in that each cohort has some level of collaboration. In this one it really started when one person went to the whiteboard during a work session and was like “OK, were going to design this application”. and then started to rally others to help with the design. I counted 5 people actively participating in the design, 3-5 more listening in and all the rest at least peeking to see what was going on from time to time. This style of collaboration where class discussions would drive productivity continued.

By the end of the cohort my .NET room and the JAVA room even fed off each other and just brought the whole place to a different level. It was amazing to watch. 12 weeks went by like 12 days. Today I am in my second day since they graduated and can’t believe it is over and they have become alumni. Many of them with jobs, many others with offers imminent. All will be missed.

Conclusion

I don’t know what I am doing to be around such great groups. This is just 2 instances. I could talk about many others from teams I have played on, places I have worked, even teams I have built. The one key to the success and the strong desire to not want to see those teams end is the culture of the team. Not only bringing different people together but bringing them together in such a way that they respect each others, learn from their differences and ultimately make life that much more fun.

How do you teach a group of people to be a team?

How do you convince them that life is much more enjoyable when you are part of the team and not out for individual gain?

How do you cultivate the culture that I have witnessed?

In talking with one of my coaches on the softball team he credited me with the culture and saying I created this. I did this… I didn’t do anything but take 14 girls, teach them softball and set a few rules at practices and games. If that somehow caused culture that I witness than by all means,

My rules:

1. You got to have fun… Softball by nature is a game. Games are meant to be fun. If you are not having fun you are doing it wrong…

In coding the same is true. Every application is a puzzle, puzzles are found near the games, games are fun therefore by virtue of proximity puzzles are fun and therefore so is coding…

2. Be safe… I told the girls I need them to understand the rules and why we have them so no one on our team or on another team gets hurt. No one is having fun when someone is hurt.

In work, being safe is the same. Why go out of your way to hurt someone. Be safe, follow the rules and contribute to everyone’s understanding.

3. Give it your all. Win or lose you have to try your best. If you give anything less why even try. Give it everything you have at that time.

With the cohorts the same is true. The apprentices pay to be there. Why wouldn’t you give it your all and do everything you could to succeed.

I really find it hard to believe I build these cultures. I am just the lucky guy that gets to be a part of them and see others flourish from them. Thanks to my experiences with the girls this year it sounds like I will be back to 2 teams next year for coaching and my next cohort is just weeks away.

I can’t wait…

Impostor Syndrome, my dealings…

I think the best way to start this is to define impostor syndrome. Impostor syndrome is the feeling of not belonging or feeling as though you are a fraud among others within a group, team or community. For me this is directly applied to my chosen career path in software development and more recently in the teaching and mentoring space. This is a feeling that I know all too well and for years have tried to hide and ignore these feelings. Here in this post I just want to talk about this a little and hopefully give someone reading this post a few ideas about how to deal.

So impostor syndrome, am I an impostor? I have felt this way from the start of my career. The first days being in a software development company I felt like I had no business in the building and especially no business working with developers, quality assurance or any other department. I was severely intimidate by the developers, even those just starting on the job. I always felt my skills were inferior and I would never be as smart, as good as them. I continuously felt like I was always trying to catch up and was just falling behind. Now as my career progressed this feeling didn’t really get better, I still felt the intimidation and the feeling of being inferior. The difference is that I didn’t give up trying and knew that even if I felt I wasn’t as good as them I could still contribute to the team in some way.

This is the first piece of advice I have: Find a way to feel like you are contributing

When you are contributing to the cause and you feel accomplished at the end of the day it is a little easier to get through each day and not worry about any feeling of being an impostor. In the course of my career I have always found those tasks and things that other developers didn’t want to do and did those. This would include things like resizing dialogs, creating sales demonstration forms, and writing preprocessors. Starting here allowed me to not only contribute but earn better tasks as time passed.

Next I would tell someone Never give up learning

If you are forever a student, whether you are at someone else’s level or not, you are willing to put in the time and effort to learn you belong. I am a firm believer that you are never done learning. Anyone willing to learn and continue to grow has a place on a team somewhere.

The surprising thing is that Others feel the same way

I am currently working with some of the top people in the field, mentoring and training developers. I was SHOCKED to learn that some of them have this same feeling. I was especially taken back when a coworker admitted to this feeling when I felt it around them. Although never directly working with them before I never would have guessed they felt this way. The more I am around my coworkers the more I am trying to find ways to impress and just meet their level of knowledge. I constantly feel like I am going to be found out to be fraud. Knowing they feel it too I think this has given a level of acceptance of this feeling and knowing that this feeling is not unique to me.

Feeling like an impostor doesn’t make you any less worthy of the title you have or the right to do what it is you do. Feeling like an impostor may even help you stay humble and hungry for more knowledge. I currently use this feeling to learn everything I can and at least stay in the conversations around me. I try to learn a little of everything and dive deeper where I can to really make a good contribution.

This probably leads to my last piece of advice Find your niche

Finding something to specialize in is always a good idea. Also don’t be intimidated when someone else has the same knowledge. Instead use them to bounce ideas off of and figure out how you can further the knowledge even further. Even then, they probably know some things where you know something else in the topic and together you have a more well rounded knowledge.

Hosting ASP.NET on Shared Hosting Site

Within the last few weeks I decided to take the venture of moving my host provider from one web hosting company to another. At the same time I decided that I wanted to do Windows hosting going forward so that I could host ASP.NET applications. I figured this would be easier since I know more of C# and .NET than I do PHP and the linux web hosting technologies. Boy, was I wrong…

So the first issue was with the domains. Normally when you transfer domains from one provider to another it can take up to 7 days. For some reason one of my domains transferred in what felt like hours. Instead of a week I received the email that the domain transferred in a day or two. Although I received an email that the domain transferred and it showed on the new provider, the old provider also still displayed the domain. Thus when I deployed my new website and all the files to the new provider it would sometimes display the old provider. Awesome times…

Once that was straightened out my new site starting throwing a 403 – Forbidden error anytime that I browsed to the page. The 403 error seemed consistent but then when I deployed my solution would work and I could browse to the pages without issue for a few minutes until the 403 error would resurface. Contacting the host provider the 403 error appeared to be caused by settings on the server. This lead the provider to ask me to change several things in my web.config file as well. This included code to add the following:


<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>

This seemed like a bit of overkill. This also did not fix the issue either. Instead the error continued and given that this didn’t seem to work, I reviewed other solutions and suggestions made online and replaced the above with:


<system.webServer>
<modules>
<remove name="UrlRoutingModule~4.0" />
<add name="UrlRoutingModule~4.0" type="System.Web.Routing.UrlRoutingModule" preCondition=""/>
</modules>
</system.webServer>

Although this code seemed to directly address the issue, it didn’t work either.

The issue at this point was diagnosed to be with ASP.NET and more specifically the MVC routing within. None of the views were being properly executed and the controllers were never being reached. No matter what I did the error would not cease as every time I deployed it worked for a while and then around 30 minutes later it would go back to 403 – Forbidden.

The issue turned out to be an issue with the precompile setting on the publish settings dialog. Below is the settings dialog.

Visual Studio 2015 Publish Settings Dialog
Visual Studio 2015 Publish Settings Dialog

The second checkbox was causing the issue. For some reason checking this box would cause a security issue that would prevent the MVC Routing for executing properly.

Maybe next time I will realize the shortcut isn’t worth it…

Paying It Forward

I have to admit that the following was not a planned encounter, the intention was not to use or teach the things of this course to anyone initially. Instead I was asked by someone for some advice specifically in regards to organizing one’s thoughts, managing tasks and time management. Without even realizing it I started reflecting on this course and the portion where we learned about Nozbe and keeping task lists and getting organized. My first reaction in the case where someone asked me how to get focused on the task at hand was the exercise we did where we wrote down everything we were thinking about at the time. I can remember getting in front my whiteboard and later a piece of paper and just writing everything I was currently thinking about down. I told them to try this. The result for me was a sense of relief since I no longer had to think about everything and could refer back to the list.

This technique alone is one that I plan to use with many people who constantly ask me how I am able to manage my daily tasks and make time for extra curricular activities. It is very neat trick that really did free my mind to focus on what I needed to. Once written I could review the list, organize the list and even prioritize the list. This made it easy to see what really mattered and what I could put off or what I really didn’t need to worry about.

Given my current position teaching in a bootcamp and the amount of tasks we throw at each apprentice I see this as a great way to pay it forward. I can help those apprentices that ask by sitting through this exercise with them, getting them started down the path and then I plan to follow up with them from time to time to see how things are going. For those that I have already started I plan to look in on them this coming week and see how things are going.

Thanks unstoppable for a great tool in my arsenal…

My Final Set Point

So this weekend marks the end of the Unstoppable Journey for me. I have been working to try and get caught up with a few of the blog posts and what not and really reflect on what this journey has meant. In this post I am going to rehash some of the previous points and see how things have changed over just these 12 weeks or so.

My Stand
My stand is really about being a positive force in this world. I want to avoid the unnecessary drama that surrounds matters, focus on what does matter and try and help those struggling overcome challenges and obstacles. I want to provide the advice and experience I can to those willing to listen and help shape the world for the next generation.

My Passion
My passion is really about programming, sports and mentoring. I love exercising my mind with learning more and more about the craft I have chosen for my life. I love picking up new programming languages, frameworks and bring ideas to reality through code. I also still love my baseball and being able to play each year. I look forward to taking that mound every opportunity I get. In both of these I love sharing my experiences and helping others learn what it is that I love so much. It brings me great joy to share this.

My Purpose
Change the world one line of code at a time sharing my journey and experiences along the way.

My Values

  • Continue to learn with each day
  • Always will myself to succeed
  • Mentor and be Mentored at every opportunity
  • Reach others through empathy and compassion
  • Be creative
  • Be passionate
  • Be Positive
  • Put my whole self into each task
  • Enjoy each day striving to make a difference

Short Term Goals
In the short term I hope to reshape how I spend my days and especially my free time. It is my goal to start focusing on my passions more and not be so easily distracted. Giving more time for the things I really enjoy doing should result in greater results than if I continue to go in multiple directions. Here are a few of the short term goals.

  • Write code 10 hours a week
  • Post one technical blog post each week
  • Run more miles than days in a given month
  • Play all 9 positions in a baseball game this year
  • Start Drawing one hour a week, every week

Dream Goals
Dream goals of mine would be things such as traveling and doing things I didn’t think I could still do. For instance on traveling, I would love to see the BaseBall Hall of Fame, Fenway Park, Wrigley Field and not related to baseball I would love to travel to Ireland and see the old castles there. I would love to walkrun the long endless fields that I see in pictures and not have to worry about work or deadlines or anything but the cool breeze off the ocean.

Overall, I have seen more of an evolution of the different aspects of this course. I always knew many of these things but the ideals are becoming much clearer. I can’t wait to see how this comes with me passed this course.