Friday, December 27, 2013

How to present PowerPoint slides over the internet via PowerPoint Broadcast Service

There is a nice feature in PowerPoint that you can use to present PowerPoint presentations without the need for GoTo meeting, Lync, etc. The The presentation is embedded within a web browser so you don't need local software like GoTo meeting installed. A great quick way to share your decks for sales demos or training.

I don't see too many people leverage the PowerPoint Broadcast Service option, but its truly a great feature when all you want to do is show a PowerPoint with low overhead. This is just a little tutorial in case you didn't know about this.

I'm trying something new and placing all steps in a single image. Not sure if I like it or not yet but wanted to try something new. Kinda thought it might be artsy and fun but may come off cluttered and messy. Might be the last one I try like this.

Thursday, December 12, 2013

Debug code in 'runTableMethodIL' in AX 2012

On occasion in the debugging process, you will not be able to access some code you can see written in Dynamics AX but for some reason is not hitting your breakpoint.

Other than a few things to look for like a breakpoint on a field method or debugging enabled on server, its possible the code of interest is actually running in the CIL (Common Iterop Lanuage) via the runTableMethodIL x++ call. Unfortunately, due to the way the debugger app works, you can't plow into the code after this method. There are ways to do it but sometimes I need to jump in quick so I change a line of code or change as user option to have it call the AX method normally instead of via the CIL optimized way so I can debug like normal.

There are two ways to handle this:
Option A: Change the 'Execute business operations in CIL user option' to false (should by default be set to true)
Option B: Temporarily change the code for debugging.

For option B, the code change method is pretty easy. Just comment out the CIL line and replace it with the static call to the tables static method detailed in the runTableMethodIL method. See the picture below for an example.This comes in handy when debugging not just using your user (e.g. processes running under users other than your current user).

THIS IS NOT A PERMANENT FIX. This is just so I can debug this situation quickly and is a very helpful quick tool. I would highly recommend switching it back before promoting your code aka as soon as you're done tinkering.

The reason for the CIL is that the application gains performance by running in CIL.

Figure 1 - The 'Execute business operations in CIL' option

Figure 2 - An example of the code switch

Sunday, December 1, 2013

Questions from college students and my answers to them

This post doesn't have anything to do with ERPs, retail, or coding but I felt it was important to write about since these are my personal thoughts and experiences and that is what is important to me more than other topics.

During interviews, it is vitally important for those being hired to interview the company they are interviewing for just as hard as the company is interviewing them. Finding a candidate to be a good fit is a two way street and I always like to stress this. The best consultants are the ones who are honest and love their job.

That being said, I recently did some interviews for college students and was asked a few questions that I found to be pretty consistently asked. I thought I would write my thoughts on them here in this post.

There were two questions asked by almost everyone. They both are very supplementary and kinda have the same answer I think.

  1. What does a day in the life look like for a consultant? Varies greatly.
  2. What are the biggest challenges day to day while being a consultant? See question 1 above.

The answer is that some weeks I have my headphones on and typing away 80% of the time while others, I don't even put them on even though I had planned to. I might think I'll be in the office on Monday but then something popped up last minute and I'm Texas less than 48 hours later teaching a class on X++ development. While those situations can be some of the most challenging due to timeline, it's where I've found the most success in personal/professional growth and that addictive adrenaline rush... I don't think I can find in other jobs.

Here are a few other responses questions with how I answered. Hopefully people looking into consulting will get some use out of these.

What would you change about your company?  

There are always things that can be changed with any company. Some have way more things than others. As companies evolve and grow, the things I would like to change often change from year to year as issues are addressed. The number one thing I would look at in assessing a company from an outside position is their ability to adapt to change and have the drive and leadership to go to that level. For example, larger companies can have issues that just linger there for a long time with little ability to change due to the infrastructure and culture in place. 

That being said, company size is a big thing (for me personally) to look at when assessing if a company is right for you. This is a big personal preference question. I removed the pros/cons of each type as there are so many I don't want to get into it. I'm a small business guy. Grew up in them and just feel comfortable there as there is more freedom for initiative and creativity. I like to say yes to things and tasks but I've found out that I like that mentality to be reciprocated.  Different strokes for different folks.
How often are consultants on the bench?  

This is a tricky one to answer. The nature of consulting is very cyclical with everyone being on the bench from time to time. It all depends on what accounts are doing what and what we can use resources for on them. For example, if someone can code in addition to functional finance, they will naturally be more busy even in times when they are working more than 40 hrs a week. This is also true for senior consultants.

The best way I can answer this is to say that you should never truly be on the bench as there is always something to learn and work on in the technology world. Ask around to everyone and anyone including internal projects to get experience. As a consultant, there are so many places to grow and you should be able to keep yourself as busy as you want. I know I personally have a laundry list of things for people to work on that span the gamut of skill sets including blogging.

In your experience, what makes someone a successful employee coming right out of school? 

 In my experience, right out of the gate, the top three are all values, not skills: hard work, great attitude, and being open to saying ‘Yes’ at every opportunity you feel you can accomplish with the best of your ability. The biggest thing in making someone stand out is being willing to do whatever it takes to succeed (ethically that is). Unfortunately, it’s hard to teach those values in a classroom as it boils down to character and the individuals ambition for a certain level of success. Investing time up front when starting your career will pay dividends as it will afford you more opportunities down the line.

Are there any certifications that you recommend to consultants?

To be honest, certifications are good on paper and that’s about it outside of book smarts. They are a great baseline but the information may not be as valuable until actual experience is gained first. As a rule of thumb, I think all functional consultants should be a little technical and all technical consultants should definitely be smart functionally. Here is an interesting blog post that shares my feelings on the topic: