Jason Haley

Ramblings from an Independent Consultant

Useful Utility: Markdown Monster

A couple of months ago at Boston .Net Architecture Group a friend of mine (Bob Goodearl) introduced me to Markdown Monster.

I’m sure many of you who deal with markdown all the time are thinking – big deal just learn the syntax .. what’s the bid deal right? 

For me the killer feature is: Paste Images from Clipboard

I have several hands on labs in Word form which I am converting to markdown files to version in github.  With Markdown Monster, I can just copy and paste the text over into a new .md file, format the header and bulleted lists – then I can copy and paste the images into the document.

When you paste the image it will prompt you for where you want to save it and what you want to name it – so it isn’t effortless – but it is a lot easier for me than to grab all those images from the word document, save each to a file then have to locate the file when modifying the markdown.

Great simple utility!


Ways to get involved in the local tech community (1 of 5)

Attend a user group

For you readers who have already attended user groups, this is a no brainer.  You know this … but when was the last time you attended a user group?

For those of you who don’t know - user groups (or meetups as they are often called these days) is a type of club (or organized meeting) focused on a specific technology topic.  Usually meeting on a monthly basis. 

If you live near a large metropolitan area, your easiest way to find a user group (or meetup) is to go to https://www.meetup.com/ and search for a topic you are interested in.  If meetup.com doesn’t have groups near you (or you are not near a large metropolitan area) it is going to be harder to find these groups.

If meetup.com works for you, then register for an account and rsvp to the user group you wish to attend and then GO TO IT!

Once you find a group to attend, here is what you might expect:

  • other people who are interested in the topic of the evening and/or regular attendees of the group
  • food is often provided - but not always so if you will be showing up hungry make sure you verify there will be food there (otherwise being hungry the whole meeting won’t be a good experience for you)
  • a networking period (usually before or after the main talk)
  • a main event – sometimes a small intro or short presentation happens before a longer topic specific presentation
  • going out for drinks afterwards (sometimes)

Why attend a user group?

If you want to grow personally, grow your network and help grow your career, I suggest attending user groups that are related to where you want to take your career – even if that isn’t where you are in your day-to-day career yet.

Example: I like Microsoft Azure – so I attend Azure User Groups (there are 2 of them in the Boston Area - Boston Azure and North Boston Azure).  A lot of people at these Azure user groups are passionate about learning Azure but just don’t get to use it at work yet.

Other common reasons to attend a user group:

  • If you are looking for a job – often times hiring managers and sometimes recruiters attend user groups
  • If you are looking to hire – people who attend user groups show a level of commitment their career simply by giving up a weeknight to attend
  • New to an area and want to meet other professionals – with meetup.com you can now locate groups of people who are interested in the same things you are
  • Get to know more people in your industry – it is nice to go to meetings where you know people and sometimes get to meet big name rock star speakers

For me, user groups is where the local tech community starts, whether you are new to an area, starting a new career, looking to learn something new or a seasoned professional wanting to broaden their span of influence.

Career Update: Running 100 miles a month and still not losing weight

This entry is a personal/career update mostly mid-year reflections about how I’m hitting some goals but not able to reach other goals.

For those of you who know me, you know I’m a runner and usually run two races a year (half or full marathons). This is because I have a life goal of running either a half or full marathon in all 50 states – I’m now up to 10 states.  I also organize two user groups in the Boston area (DevBoston and North Boston Azure) and speak at several other groups in the New England area.

Reflecting on some of my accomplishments and failures this year:


  • I am averaging over 100 miles a month in mileage (goal achieved)
  • I ran a half marathon in Montana in July and beat my best time for a half by 6 minutes (goal achieved)
  • Have not lost any weight around my mid-section this year (fail)


  • Passed the third Azure exam 70-534 to get my MSCE: Cloud Platform and Infrastructure certification (goal achieved)
  • Became a Microsoft Azure MVP for my community efforts in the past year (goal achieved)
  • Have not blogged (fail)
  • Have not worked on my list of open source projects like I wanted (fail)

Thoughts on why I can hit some goals but not others

Running is easy.  I can make myself go out for a five mile run – it is just a habit and I enjoy it.  This means the miles add up quickly and the 100 mile mark is not a hard goal to hit for a month. 

However, controlling my diet is hard.  I know if I don’t do non-aerobic exercise or control my diet, I simply don’t lose weight.  If I add resistance training and/or eat better dinners and no snacks – then I do lose weight.  I know this.  I know what I need to do.  I am simply not doing it.

I love learning.  Learning more about Azure and playing around it is easy and I enjoy it.  When studying for exams, I have a list of topics to learn and can make myself do it.  This means as long as I stick to learning the topics the exam covers, it is not hard to pass the exams. 

I also like organizing and speaking at user groups and community events.  I’m not great at it, but I can make myself do it.  I am working on improving – but that is a blog post for another day.

However, blogging and consistently working on my open source projects is hard.  Hard in the sense that it is not a habit I currently have … and I can come up with many reasons to stay in the “thinking” and “planning” phases … which will never deliver anything.

Today is Tuesday August 1, 2017.  Today I am starting to take the next steps in reaching more of my goals that require me to change what I do and create new habits. 

NOTE: this entry is a bit rough … actually it just isn’t written well at all.  However, I will improve the more I write – and today it is more important to put it out there than to get it right – no more putting it off.

May 2017 Boston Area: Docker and Container Events

If you are in the Boston area (Cambridge or Burlington) and want to learn more about Docker and container technologies – here are three events you may want to attend in the next three weeks:

May 18, 2017 @ 6pm (tonight) in Cambridge is ASP.NET Core and Docker in Azure by @dev_enginerd

ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux.

It has never been easier to add Docker support to ASP.NET and ASP.NET Core applications. Even better, there are many options to host your Docker containers in Azure!

May 23, 2017 @ 6pm in Burlington is Docker Fundamentals: Getting Started with Container Technologies By @aspenwilder

Docker is everywhere today but what is it? In this talk, we will start from the beginning to introduce containers and explore why they have become so popular. Next, we will take a look how to get started using Docker in your applications today and finally how to deploy containers using Azure. By the end, you will have seen containers in action, know how to create your first container and understand your path to production.

May 30, 2017 @ 6pm in Burlington is Containers and DevOps in Azure by @ITProGuru

Containers, the next wave of virtualization, are changing everything! As companies learn about the value of DevOps practices and containerization they are flocking to containers. Now with Docker running on Windows and Docker Containers built into both Azure and Windows Server, containers are poised to take over the virtualization landscape. Nano Server, Microsoft’s newest and smallest ever operating system is poised to lead that charge. Come to the session to learn all about containers and how you can put these technologies to use in your organization. You will learn about the tools and practices for leveraging containers, deploying containers as well as how to continue your journey to becoming a container expert as you grow your technical career. Plus **** insight to the Microsoft commitment to becoming a member and Platinum Member of the Linux Foundation. What it means for Microsoft, Linux, Azure and most importantly to * Open Source *! You do not want to miss this!!!

My 30 Day Challenge and Update on Azure Cloud Certification Studying

It has been a long time since I’ve regularly written in my blog … or anywhere for that matter.  I have been meaning to start writing again but I just haven’t been committed to it enough to do it – until today.

Today I am starting a 30 day challenge for myself – to write something every day for 30 days.

This challenge isn’t to make 30 days of blog entries, but to write something – maybe even just in word or a notebook (ie. doesn’t have to be published).  I want to move toward a cadence of at least one decent blog post a week, but no promises.

Update on studying

Yesterday I signed up to take the 70-534 exam at the end of this month – which gives me around 4 months to study for it.  In November, I was about ready to signup for the exam but found out the exam was going to change so I didn’t finish my studying (I wrote about that last year).

I have been learning and using more and more products and features of Azure for quite sometime, so I think I know the majority of the content on the exam – I just need to freshen up my knowledge on some of the things that I haven’t used in awhile.  Plus I need to practice getting tested on my knowledge again.

Boston Code Camp 27

Yesterday was Boston Code Camp 27.  We had a good turn out. I met several people from out of state and also met many people that were attending a Code Camp for the first time.

As often happens, I didn’t get to attending any sessions but everyone I spoke with all had very nice things to say about the sessions they attended.

I presented two sessions:

Introduction to Azure App Service Environment

The room was to hold up to 18 people and I think there ended up being 12 – 15 that attended.  As I started the talk and poled the people about their experiences with Azure, I quickly learned they crowd needed mostly background on App Service and a little about App Service Environment … so I spend quite a bit of time showing them around Web Apps and discussing App Service in general and maybe 10 – 15 on App Service Environments.  Maybe next code camp, I’ll split it into 2 parts: Part 1: App Services, Part 2: App Service Environment.

The slides for the talk can be found here: https://jhaleyfiles2016.blob.core.windows.net/public/AppServiceEnvironment2017.pptx

Going Independent

This room was about the same size as the other, but there was at least a handful of people standing and sitting on the bench of to the side – so maybe 20 people or so.  I’ve given different versions of this talk at least a dozen times in the past 7 years.  Thirty minutes is usually not enough for this one (I gave a two hour version of it earlier this month), but I think I covered the important points. I think the group yesterday may have been the largest percentage of full-time employees that I’ve ever give the talk too – usually it is only 1/3 – 1/2 but it was closer to 2/3 to 3/4  … which is good since that is the audience I targeted the presentation to.

The slides for the talk can be found here: https://jhaleyfiles2016.blob.core.windows.net/public/Half_GoingIndependent2017.pptx

Talk: WebApps and WebJobs

Last month (December 14, 2016) I presented at the Western Mass Development Technology User Group.  The group meets in Agawam, MA about two hours west of Salem, MA – if you are in the area you should check out their meetup site: https://www.meetup.com/Western-Mass-Development-Technology-Users-Group/

I was a fun time and a great group of people interested in learning more about Azure. 

I split the time between WebApps and WebJobs and tried not to make too many comparisons with Cloud Services (since only one person was familiar with them).  We spent most of the time in either the Azure portal or in Visual Studio, but for anyone interested my power point presentation files can be downloaded from this link: https://jhaleyfiles2016.blob.core.windows.net/public/Western%20Mass%20Dev%20Tech.zip

Late November 2016 Update on Azure Cloud Certification Studying

The day after I posted my last update (November 2016 Update on Azure Cloud Certification Studying) I found out the 70-534 exam (the one I am studying for) was going to have some major changes on November 22 - Azure Architecture Exam (70-534) Gets ARM Refresh.

So I had two choices: Cram for the exam and take it before Nov 22 or Step back and widen the material I’ve got to learn to pass it.

Since then, I’ve decided to postpone taking the exam this year.  I am not really doing this to just get the certificate (ie. pass the exam) I want to know that I know the material … and right now I don’t know some of the new things they are adding to the exam.

Also, I’ve been meaning to get back to blogging and have decided to start writing about some of the topics I am learning while studying for the 70-354 exam – so this week I am planning my first blog post (or set of blog posts) … still in the planning stage.

Boston Code Camp 26

Yesterday was Boston Code Camp 26.  I presented Cloud Services vs. Web Apps for the first time.  The slides can be found here: https://jhaleyfiles2016.blob.core.windows.net/public/CloudServicesVsWebApps.pptx

If anyone who attended my talk has any feedback, I’d love to hear from you. 

It was nice to see old friends and meet some new ones yesterday.  I only made it to one talk: The Power of Networking by Betsy Weber (@betsyweber).  There were many other talks that I would have gone to, however I found it more enjoyable to catch up with the group of friends I only tend to see at Code Camps and Dev Camps.

I will be presenting a more detailed and demo oriented talk comparing Cloud Services and Web Apps at the North Boston Azure Cloud User Group Nov 29th, in case anyone missed my talk yesterday or wants more detail.

November 2016 Update on Azure Cloud Certification Studying

I have completed and passed the 70-532 Developing Microsoft Azure Solutions and 70-533 Implementing Microsoft Azure Infrastructure Solutions.  I am currently studying for the 70-534 Architecting Microsoft Azure Solutions exam … even though the MCSD Azure Solutions Architect certification has been sunset.  I figure I already bought the study guide and I seem to be familiar with most of the higher level material for the exam thanks to all the research I did prior to my Azure 101 talk in June.

Since July, I’ve noticed that I am more likely to write PowerShell scripts to do repetitive tasks in Azure (instead of going to the portal and doing the same thing over and over in the UI).  Last week, I even wrote some scripts for a VSTS build that solved the need to start/stop a web app before deploy and add/remove an NSG rule to a VNET for the build sever before and after deployment.  It is really nice to know that most of the stuff in the Azure portal is scriptable and that it doesn’t take long to create the scripts (once you get familiar with it).  I have to honestly say - before studying for these exams, Azure PowerShell scripts were always on my “things to learn next list” but taking the time to learn how to script things I could do in the portal UI just never made it to the top of the list.

Here are the steps I’ve taken to pass the 70-532 and 70-533 exams:

  • Use Azure on a daily basis
  • Read the study guides from cover to cover
  • Watch any videos I can on related material
  • Read through the Azure documentation to get more detail than is in the study guide
  • Purchase the practice exam – you get 30 days the practice questions as much as you want
  • Purchase the proctored exam after I’m done with the study guide
  • Take the practice exam no more than 2 weeks from your exam like it is the real exam
    • Get over the fact that you didn’t pass it
  • Take the practice exam and view the answers as many times as possible before the exam – and really search the web for the topic questions you don’t know and learn more about them
    • Do not waste your time memorizing the practice questions and answers – they are not on the exam.  Instead use the practice exam to get used to the exam format and topics and broaden your knowledge more
    • Learn to rule out the answers that are not correct – as fast as you can
    • With case studies – read the questions first, then you can read the case study and pay attention to the pieces you need to know
  • Take the exam

In the middle of both exams, I was certain there was no way I would pass … but I did pass them both on the first try – so keep your spirits up as you take the exam because it may not be as bad as it seems.