Epicor 9 and Crystal Reports

A few months back I found myself having troubles getting Crystal Reports 2008 working well with reports from Epicor 9.05.  A little research showed that the version Epicor distributes needs to be patched, but finding that patch was a little troublesome until I found the following post.  I was setting up a new install of Crystal and having the same troubles, when I happened on the post again.


Server Virtualization

At Epicor Insights a couple of weeks ago, I had a chance to attend several sessions on server virtualization. Most of these sessions dealt directly with the Epicor ERP package and considerations, however, some of the concepts concerning best practices apply to all products, regardless of the software vendor or virtualization technology. I would like to share a few of these with you. Some may appear to be common sense, but I find they sometimes need to be stated.

Please feel free to discuss and pass these along, and perhaps we can put together our own recommendation document for when we are approached regarding this up-and-coming trend in hardware and software.

The first statement to make is that virtualization, regardless of vendor, will introduce latency compared to running a server on bare hardware.  Although speed is important, the true benefits are in the scaling of servers, the ability to practice redundancy without purchasing additional hardware, and an improved backup and recovery process.

When sizing and purchasing hardware, keep the following in mind:

  • Always buy the latest, fastest processor that your budget will allow.  More GHz will reduce the latency effect.
  • Always ensure that the processor(s) have virtualization technology available (Intel VT-x or even better, VT-d and similar for AMD). 
  • When setting up, make sure to disable any non-essential devices like serial, parallel, and sound devices at a bios level.  Just the install of a driver at the HOST OS level will take CPU cycles that are better allocated to the GUEST OS’s.
  • Enable any TURBO boost, or other such technology at a BIOS level.
  • Disable C1E and C States in the bios, and turn off anything that refers to power consumption.
  • Enable Hyper Threading if available at the BIOS level.
  • Once a host OS is installed, go into Power Options, and make sure to set the Power Plan to High Performance.  By default, all windows installs are set for Balanced.
  • Do not undersize.
  • When counting cores’ only real cores are counted, and not hyper threading cores.


Memory Considerations:

  • Do not over commit memory.  Only allocate memory to VM’s to within approx. 2GB of physical RAM in the host server.  This will allow the host operating system and hypervisor some working memory.
  • RAM is cheap, and more is always better.
  • Use large memory pages
  • NEVER over-allocate your resources with regards to RAM as that will cause paging which will slow everything.



  • Shared storage among multiple host servers allows for failover because it increases redundancy. With a shared storage infrastructure, you can start essential servers on the alternate hosts if a host server stops functioning
  • Use a dedicated VLAN for IP based storage
  • Remember that a VM is a physical file
  • Align your storage partitions
  • Monitor I/O latency
  • Using multipathing on a SAN enables multiple routes between servers and drives, adding protection and performance.
  • Fast storage helps and matters
  • Watch for storage as a bottleneck



  • Remember that CPU utilization plays a part in network throughput
  • Use a separate virtual switch for each physical adapter
  • Connect VM’s that interact with each other frequently to the same virtual switch.

 Another really big topic was the virtualization of SQL Servers.  SQL Server does not scale OUT, but UP.  This means you cannot add multiple SQL servers serving the same data to improve performance.  Therefore, it is not recommended that SQL Server be virtualized for performance.  Application servers that support load balancing are perfect candidates for virtualization.  Therefore, a hybrid environment is what is recommended in most situations.  Having a virtual SQL Server for replication and failover is ok, but this would not be your primary data server.

Most if the above is my interpretation and recollection from a couple of sessions, and I do not profess to be an expert on this, but I have reviewed and researched some of the notes above to get a better understanding.  I hope we can all use this as a starting point when discussing and recommending virtual environments.

Jim Russel Racing Trial Course.

So today the big day arrived. I needed to be at Le Circuit Mont-Tremblant by 9:00 for the start of my Jim Russel Training Course. We are staying at a chalet on Lac Moore just around the corner from the track, so travel time was minimized. The trip yesterday was another story, between construction on the 401 just before Trenton that cost us 45 minutes, during which we actually shut off the car, and then hitting Ottawa right around 4:30 which put us square into rush hour. It was made better by the fact that my trusty GPS guided us to a ferry to cross to Quebec.

But that was yesterday. Today was about learning to drive fast!

The day started a little cool, but beautifully clear over Lac Moore as the picture can attest. After breakfast and a coffee, we headed over to the track where for the first time I saw the challenge that I was about to face. The track is natural terrain road course which means that unlike many formula one circuits, there are elevation changes. I headed into the classroom portion, saying goodbye to my family who would return later at lunch to see the on track lapping.

We were introduced quickly to the course, and taken in smaller groups down to the equipment room to be fitted with racing suits, helmets, balaclavas and gloves. Being a shade over 6′ 2″ this was really interesting. I was given the tallest suit they had, and wouldn’t you know it, it looked like I was expecting a flood. Oh well, this wasn’t a fashion show. After changing into our racing attire, we returned to the classroom for an introduction to the format of the day and the car.

The day was to be a mix of classroom and lapping, but the real excitement for me was the car. This wasn’t just any car, this was a formula car. Driver in the center, open wheels and wings! The car is a Van Diemen F2000 powered by a 170HP Ford engine. The cars weigh about 1000lbs, so they are plenty capable of going fast.

We briefly discussed seating position, and the layout of the steering wheel, and then plunged headlong into Heel-Toe braking. The instruction was done primarily in English for the benefit of the ‘Anglophones’ with some clarifications in French for the mostly French speaking group. This mainly describes the use to the heel on the throttle with the toe on the break to help match the revs on the engine to the speed of the car and the transmission. Unlike our passenger cars, these cars do not have a Synchromesh gearbox the does this automatically.

As this wrapped up, we were broken into two groups. One group would be taken to the south loop where they would be practicing braking and downshifting, and the other would stay for a classroom session on the racing line.

I was in the group taken to the south loop for our first taste of driving. We were split into French and English speaking groups and taken in mini-vans to south loop. The instructor walked us through the exercise which was basically to loop around this section of the track, working up through the 4 speed gears shifting at 3400 RPM to our breaking point. This was a series of 4 cones, and at the first cone we were to begin applying the break, at the second, depress the clutch with our left foot while continuing to break with our right toe, and use our right heel to ‘blip’ the throttle to 3400 RPM and downshift to 3rd gear. We would them release the clutch, and at the next cone, repeat the process downshifting to 2nd. By the 4th cone we would have slowed from about 100km/h to 15km/h and we could continue in 2nd gear around the corner to the next straight where we would once again accelerate and then brake. There were 8 of us in the group looping around the track, doing this for about 6 laps. It gives a new respect for the delicate skill required to drive these cars. I managed to get this right about 4 times before the session was over, and we were taken back to the classroom for instruction on the racing line.

The racing line can best be described as the quickest way around the track. It may not be the shortest, and in most cases is not, but it allows the driver to maintain the highest speed possible through the corner while setting up the soonest acceleration point and the longest sustained top speed. We started by learning about the radius of the corner, how to extend that radius, using the whole width of the tract, and finding the geometric apex, and then techniques for finding the real apex and maximizing your speed. I am not a race instructor, or an expert, so I won’t go into the details. We learned a little about vehicle dynamics and weight transfer during acceleration, deceleration, and turning, and how to make those work for us. This brought us to lunch.

Diane, Sebastian and Seth arrived, and we went back to our chalet / home where I had a sandwich, and some pineapple. I am sure if you ask them, I talked endlessly about my morning. Soon it was time to head back to the track for the start of the real fun.

When we arrived at the track, we milled about for a while, and took some photos while we waited for the next session. Sebastian and Diane were taking still photos, with Sebastian using my camera, and Diane using hers. Seth is our budding videographer, and had his video camera working too.

Finally we moved on the format of our next on track session. For this session, we were on the North Track, and we would be paced by a mini-van around the racing line. We would have 2 laps each directly behind the pace car, and we would cycle the leader to the back of the pack of 4 cars every two laps. I got my first 2 laps directly behind the pace car, and was rather disappointed how hard it was for me to keep up with a mini-van. I cycled to the back, and followed as each of the next 3 cars in my group was given their turn. We then returned to the classroom for a debrief session, and questions. We then began to discuss the next session free lapping without passing.

This session was going to be a lot of fun, and I found my lovely number 16 parked as the second car in the line. We had been told that this session would likely find us bunched up, and we could pull into the pits and the would find us a gap. I headed out on this session, and tried to focus on the line, and my shifting technique. After about 5 laps, I tired of following a car, and pulled into the pits for a gap. Another challenge was trying to pull in to the pits. Pit lane it at the end or a rather high speed section taken in 4th gear. You head to a corner called Namerow which is taken in second gear. Add to this that you should signal to a car behind that you are pitting so you raise a hand. You cannot raise your right hand, that is what you shift with, but how can you shift with you left, steer with your right and raise your right hand too (not to mention having to apply the aforementioned heel-toe technique)? It is a challenge, but I managed to do something approaching all that. I pulled into the pits, and idled in second gear at about 2000rpm to the line to wait for a gap.

No ‘roaring’ out of the pit here either, once they sent me, I worked from 1st gear up to second, and stayed at that 2000 rpm until I passed the pit out line. Then I could accelerate, all the while minding the blend line, a yellow line from pit out separating race traffic from those exiting the pits. You exit the pits about around turn 2, and from there you work up to 4th gear, and are in 4th through to corner 4 where you enter ‘The Esses’. This complex is taken in 3rd gear. If you do it right, you will exit 5 and have enough speed to get to 4th gear again before you reach corner 6 or ‘Tic’. Tic and TacToe are a 90degree right followed by an even sharper right ant this is where you cut the long track into the North Loop. These two corners are taken in second gear, but I found it hard to resist trying to get to 3rd before downshifting to 2nd again. But the times I tried that were not really good and I found myself fighting to get back to 2nd in time. After TacToe you accelerate up to The Gulch, another 3rd gear corner, and then up to 4th heading to Bridge Turn. Bridge is taken in 3rd, and was soon to become my nemesis, but more on that later. Exiting Bridge, you work up to 4th gear, and soon I found myself on the rev limiter just below 4200 RPM. You then head through the Kink, toward to Namerow, where you need to downshift to 2nd for what many would describe as a hairpin type corner. This corner seemed so slow, I thought the car might come to a stop as I hit the apex. Then you work your way up to 3rd, and possibly 4th before hitting Paddock Bend, and into the front straight. You are then in 4th gear, trying not to ride the rev limiter all the way through corners 1, 3 and 3, completing you lap, and beginning another.

After about 4 or 5 laps, I was hot on the tail of another car, and decided to pull in to get another gap. As I repeated my pit procedure, and headed down the pit lane, the checkered flag came out to end our session. If only I had known, I would gladly have stayed trapped behind the car ahead of me to complete 1 more lap! All in all, this session was great fun, and I couldn’t wait for more.

Now during this session, one of our instructors was observing from various corners, and taking notes, so the briefing after this session was mainly about his observations, and thoughts on what he saw. From his feedback, it sounded like we were doing okay, with some work required on setting up better for the Esses, and smoother shifting. He must have heard the grinding when I tried Third between Tic and TacToe. He then explained the format for our next session, Passing! Of course there are rules, and none of us are professional drivers, so there were several passing zones established. We could attempt passes between corner 5, and 6 or Tic, Between Bridge Turn and Namerow, and on the front straight from Namerow to corner 1. All passes were to take place in this area, and the passing driver was to go off line, and pass the car ahead. Make sure we had lots of room before resuming the line, and have the pass completed before and braking zones. We were all instructed to use our mirrors, and make sure not to challenge if a faster car were to attempt the pass. Keep your line, and lift a little to allow the pass to occur. Sounded pretty straightforward, and we were all more than ready to go out and give it a try.

With all these rules in mind, we went down to our cars, and strapped in. This time out my trusty car was lined up second from last in the row of 8 cars. I was stoked. That meant there were 6 cars in front of me to try to pass! We were given the command to start our engines, and sent out of the pits. I took a few laps and let the car warm up. Kept pretty close to the car ahead, and was starting to think about passing it. Everything we were told sounded good, but now was my chance to try. I was tight on this car through the corners, and hoping they would see me in their mirrors, and give me some room. The laps ticked off, and I just didn’t see my chance. I got close, but never saw an advantage that would let me past. I decided to keep real tight through Tic TacToe and look for my chance as we passed through Bridge. I had it going real nice, and heading up to Bridge, I had plenty of speed. This was it!

I braked into Bridge and began to turn in when the back end broke loose, and began to come around on me. I was gutted! I now know the meaning of the racing phrase ‘at that point you are just a passenger’. I stabbed at the clutch, but the engine died. The car following me came really close, but thankfully he managed to avoid. At his point, I was rolling backward in race direction with no power. Now those who know me know that I am a race marshall. I now know first-hand how critical their role is. Unfortunately, there were no friendly flaggers at the corners, and I found myself facing oncoming traffic from a blind corner. I put in the clutch, made sure I was in neutral, and pressed the starter. The engine caught, and I was left with a difficult decision. How was I going to get turned around, and back underway? I moved completely off-line, and got myself to a safe position where I reversed the car, and got it turned around to race direction. I waited for a car or two to pass, and when I saw a gap in my mirrors, I put the car in gear, and got going again. I then headed on track to the pits for my mandatory consultation.

I pulled in and came to a stop where I gave the crew member the sign for a spin; I took my index finger and twirled it in the air. The crew member then checked over the car, pulling on the wheels, and suspension members, just to make sure that the car was still in good driving condition. After this check, I was sent back out, but as I mentioned, I was gutted. I was even a little tentative. This was real, and much more difficult than I had anticipated. I decided to focus the rest of my time on trying to make good laps, and practice the heel-toe technique. As I approached Bridge that first time, I realized just how easy it was to spin in that corner. You are coming up a hill accelerating, then downshifting, and the weight transfer is quite a challenge. If you are carrying too much speed, and turn sharp to make that corner, it will happen. I made it through, and breathed again. I ticked off the laps, and noticed a faster car approaching from behind. I decided that I was going to be sure to give this fellow student his chance to pass, and so coming out of Bridge, I lifted slightly, and allowed them to pass. Then I made it my goal to follow this driver, study their line, and see what I could do. They were faster than me, and I think it came down to smooth. Their braking into the Tic TacToe complex was later than mine, and that did it. I kept them in sight for the rest of the session, and made sure to try to hit my marks. The session came to an end without further incident from my perspective, and we all pitted after the checkered flag.

In the change room, after this session, there was lots of chatter. I wasn’t the only driver to spin, and there had been others earlier in the day too. The driver behind me during my spin said he was glad not to have t-boned me, and I was thankful too. Overall, we were all quite satisfied with our day, and headed to the classroom for the last time. Here we were given another quick de-brief and then presented with our certificates.

Quite honestly, this was among the most exciting experiences I have ever had, if not the most. I can’t say enough about the facility, cars, and crew. They were fantastic. Our primary instructor Martin Roy was fantastic, and had plenty of good advice to offer. Most of all, I want to thank my wife Diane for indulging this dream. This was more than I could have hoped for. I also want to thank my boys Sebastian and Seth for their patience and enthusiasm through the day. I know Seth isn’t quite as thrilled with racing as I am, and the fact he was there to share this was fantastic! Sebastian was one of my biggest cheerleaders, and made me feel like a star. Diane was there for me even though I know she was scared, frightened, and excited all at the same time. She will probably read this, and realize some of that fear was quite justified. I love you baby, and thanks again!

After we finished, and the boys had me pose on the podium for a photo with my certificate, we walked back to the Chalet. I was glad to be walking, cause I think the adrenaline was still pumping. We stopped at a little café just at the end of the street from the track, and enjoyed an Iced Latte and chatted. Sebastian had timed one of my laps after my spin, and I had completed the lap in 1:34. While we drank our coffees, we calculated the lap speed based on the North Loop being 2.46km or 1.51 miles, we calculate that my lap speed was 57.8 mph or 93km/h. That doesn’t sound too bad for a onetime warrior. We were told at one point that at 3400RPM in 4th gear we were going about 100km/h. Extrapolating to 4200RPM from there give me a not so educated guess that the top speed of the car was just over 150km/h.

Would I do it again? In a heartbeat! But for now I think I will satisfy ‘Need for Speed’ with iracing.com where I am considering buying an F200 car, and the Mosport track!

About this Blogging Thing…

So, I set up this blog account a while ago, and never really got to doing anything with it. I guess today is the day that changes. Tomorrw, I am about to undertake a new adventure, and I intend to document it here.
This adventure comes as a gift from my wonderful wife Diane, who for my fourtieth birthday has indulged one of my log time dreams, to drive a race car. I am presently in a chalet im Mont-Tremblant with my family, preparing to take a one day Trial Course as the Jim Russel Racing Drivers School . This will allow me to spend the day learning to drive an F200 race car.
As I said my family is here with me, and my oldest son Sebastian will be taking photos for me and my youngest son Seth will be taking video. It has been quite a while since I have tried anything quite as extreme as this.
Furhter to this adventure, I ex[ect to blog about some of the other parts of my life too such as my work as an IT Professional, parenthood, Motorsports, and whatever else crosses my mind.
Here’s blogging at you 😉