End of free backend for AL Object ID Ninja

  • Post comments:1 Comment
  • Reading time:6 mins read

I hoped I would never have to write this post.

When I first released AL Object ID Ninja back in September 2021, my dream was simple — to give every Business Central developer a painless way to manage object IDs, forever free.
And for four years, that dream held true.

Ninja has quietly prevented hundreds of thousands of conflicts across thousands of teams. It became the invisible backbone of smooth collaboration for our community — always there, always free.

But as Ninja grew, so did the infrastructure behind it. What once cost a few peanuts now costs a small fortune every month. To keep it running fast, reliable, and evolving, it’s time for Ninja to take its next step — from a free community service to a sustainable, premium platform.

What’s changing — and when

You can continue using Ninja for free until 31 December 2025.
After that, you’ll have two options:

  1. Self-host Ninja on your own Azure subscription — and keep it free forever.
  2. Subscribe to the new Premium Ninja backend — and enjoy a hassle-free, continuously improving experience.

Either way, you stay in control.

Read on if you want to learn more.

(more…)

Continue ReadingEnd of free backend for AL Object ID Ninja

Testing in isolation

  • Post comments:18 Comments
  • Reading time:40 mins read

An AL developer gets fired from his job for writing inefficient tests. With his LinkedIn profile proudly showing off his extensive testing experience, a car manufacturer hires him to test cars. His first assignment: test the oil lamp. So he imagines a test, applying his vast experience:

// [GIVEN] A car
// [GIVEN] Enough fuel
// [GIVEN] Engine oil within operational limits
// [GIVEN] Engine runs long enough

// [WHEN] Oil level drops below operational minimum

// [THEN] The oil lamp turns on

Spoiler alert: the guy’s gonna get fired again.

(more…)

Continue ReadingTesting in isolation

Directions EMEA 2023 demo – decoupling base app

  • Post comments:28 Comments
  • Reading time:40 mins read

Here we go. As promised, I’ll start with the demo I delivered at my “Mythbusting code coverage” session at Directions EMEA 2023 in Lyon.

Over the course of this year, I have talked about testability at 12 sessions at 7 events, 6 public one-day and two-day workshops, and 4 private direct-to-partner one-day workshops. At all those sessions and workshops, almost all of my demos are “made up”: they are code examples written by me to illustrate the concept I talk about in an easy-to-follow way. I think they work quite well to show you what my goal is and what and how I am doing what I am doing.

And yet, I have faced criticism that goes along the lines of “all nice, but this is oversimplified fake examples, and it’s easy to create those examples for just about any concept you want; why don’t you do it on a real-life example, it’s probably not going to be possible.”

Well, I disagree, and that’s why for this event I have decided to add one more example to my example suite, and show how you can apply all the concepts I talk about to a piece of existing base app code, all while not breaking anything and not having to change any other area of the code that depends on that refactored code. Here you can find that example, explained step by step.

(more…)

Continue ReadingDirections EMEA 2023 demo – decoupling base app

AL Pragma Explorer – a new AL extension

  • Post comments:3 Comments
  • Reading time:3 mins read

There is a cool new extension out there for AL developers that you should really check out: AL Pragma Explorer. The extension is almost as amazing as the work behind it, because even though this extension is published under my publisher name, it’s not really just mine. This was a team effort of my group at the BC TechDays 2022 preconference workshop, and I am so proud that we actually managed to pull this thing off.

So, here’s the story.

(more…)

Continue ReadingAL Pragma Explorer – a new AL extension