AL Object ID Ninja v3.0 Platform Launching on December 15

  • Reading time:3 mins read

When I opened the early-bird sign-up page for AL Object ID Ninja, my goal was simple:
to understand whether there was enough real interest in a fully supported, commercial-grade Ninja platform for me to commit myself to building it the way it deserves to be built.

That question didn’t stay unanswered for long.

The response was overwhelming — a clear, resounding “Yes, please!” from the market.
To everyone who signed up: thank you. Truly. Your trust is the single biggest motivator behind the speed and intensity of development happening right now.

I even extended the early-bird window by two extra days to accommodate the late rush, but now the big lifetime discounts are officially closed and I’m no longer collecting “count-on-me” registrations.

That said, if you feel you should still receive a discount, reach out to me directly before December 22, and I’ll gladly provide a 15% voucher. No justification needed — just ask.

Continue ReadingAL Object ID Ninja v3.0 Platform Launching on December 15

A Story About Trust: Why LS Retail Moved from Private Endpoints to the Hosted Ninja Backend

  • Reading time:4 mins read

Every now and then a real story captures the essence of what a product is meant to do. This one did that for me.

A few days ago, LS Retail, a long-time Ninja user, reached out and asked a simple question:
“Can you help us move from our private endpoints to your hosted backend?”

At first, this surprised me. LS Retail has been using AL Object ID Ninja literally since day one—the very day it was released. Not only that: they never used the public backend. From the beginning, they chose to run Ninja entirely on their own infrastructure.

Continue ReadingA Story About Trust: Why LS Retail Moved from Private Endpoints to the Hosted Ninja Backend

AL Object ID Ninja: Self-Hosting vs. Hassle-Free (the data tells a curious story)

  • Reading time:1 min read

Fun fact from the past three months of AL Object ID Ninja:

Ninja has handed out object IDs to 9,365 apps.
Out of those, 297 apps were configured to use private endpoints.
But here’s the interesting part:

Only 122 apps were consistently configured correctly for all team members — meaning every team member configured private endpoints in their instance to make sure numbers were actually coming from their private endpoints as intended.

That means:
3.2% of teams chose private endpoints
⚠️ but only 1.3% set them up in a fully reliable way

For everyone else, running a “free” backend isn’t really free — it either means constant discipline to keep things in sync, or the occasional manual conflict cleanup. And that hidden maintenance probably costs more time (and money) than a premium subscription ever will.

If you’d rather choose hassle-free forever, now’s the moment to secure your 35% lifetime super-early-bird discount.

The early-bird window closes November 22.

👉 alid.ninja

Work smarter, not harder. Let Ninja do the boring parts.

Continue ReadingAL Object ID Ninja: Self-Hosting vs. Hassle-Free (the data tells a curious story)

AL Object ID Ninja: Please Register Your Intent

  • Reading time:2 mins read

Over the past four years, AL Object ID Ninja has quietly kept thousands of teams out of conflict trouble. To plan the next chapter responsibly, I need a simple signal from you.

What I’m asking

If you intend to keep using the hosted Ninja backend after 1 January 2026, please register your interest here:
👉 alid.ninja

This is not a subscription. It’s a no-commitment way to:

  • Lock a 35% lifetime “super-early-bird” discount
  • Help me finalize fair pricing and plan my activities in the transition period
  • Potentially lower the final prices for everyone (more committed teams → better economies of scale)

Your two paths (both remain available)

  • Stay on the hosted backend (premium): zero setup, zero maintenance, zero hassle (just like in the past) + new features + support + the upcoming management portal + mobile app.
  • Run your own backend: Ninja remains open to self-host on your Azure subscription, at your pace, under your control, but with you carrying the infrastructure cost, maintenance costs, and costs of supporting users who get stuck.

Why this matters now

To operate a reliable, supported, and evolving hosted service, I need to know roughly how many teams plan to stay. If there’s sufficient interest, I’ll proceed and continue investing in the hosted platform. If there isn’t, the shared backend will be shut down on 31 December 2025, and all teams will continue with their own deployments.

This is not pressure—just transparency. Running Ninja at scale carries real cost, and I want to make the right decision with you, not for you.

A straightforward pledge

My goal is simple: keep Ninja effortless for those who prefer a smooth experience on a managed service, and keep it open for those who prefer to run it themselves. If you’ve found value in Ninja and want the hosted option to continue, please raise your hand now:

👉 alid.ninja

Thank you for helping me plan wisely—and for everything you’ve built with Ninja so far.

Continue ReadingAL Object ID Ninja: Please Register Your Intent

End of free backend for AL Object ID Ninja

  • Reading time:4 mins read

EDIT: Click here to let me know if you intend to stay with Ninja premium backend and lock in your lifetime 35% discount.

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.

Continue ReadingEnd of free backend for AL Object ID Ninja

Gear Up for Your Next Dive! Essential Equipment Every Diver Needs

  • Reading time:3 mins read

This is a single blog post layout by OceanWP.

You can completely change the layout (sidebar, no sidebar, edge to edge), control the position of the elements and their appearance with a user-friendly loop builder as well as style and customize all other aspects of your website.

Blog posts are the best tool to boost your online presence and SEO, so make it count by creating a presentable layout with a few simple clicks!
The best part? You are in full control over each and every post individually (change header style, menu, footer, top bar, or just about anything!) which enables you to make the best out of WordPress hassle-free.

Did we happen to mention you will get all of this for free? Get started with OceanWP today!

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.

Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna.

Vestibulum lacinia arcu

Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi.

Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante.

Aenean lectus elit, fermentum non, convallis id, sagittis at, neque. Nullam mauris orci, aliquet et, iaculis et, viverra vitae, ligula. Nulla ut felis in purus aliquam imperdiet. Maecenas aliquet mollis lectus. Vivamus consectetuer risus et tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Continue ReadingGear Up for Your Next Dive! Essential Equipment Every Diver Needs

Discover the Fascinating World of Underwater Photography

  • Reading time:3 mins read

This is a single blog post layout by OceanWP.

You can completely change the layout (sidebar, no sidebar, edge to edge), control the position of the elements and their appearance with a user-friendly loop builder as well as style and customize all other aspects of your website.

Blog posts are the best tool to boost your online presence and SEO, so make it count by creating a presentable layout with a few simple clicks!
The best part? You are in full control over each and every post individually (change header style, menu, footer, top bar, or just about anything!) which enables you to make the best out of WordPress hassle-free.

Did we happen to mention you will get all of this for free? Get started with OceanWP today!

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.

Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna.

Vestibulum lacinia arcu

Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi.

Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante.

Aenean lectus elit, fermentum non, convallis id, sagittis at, neque. Nullam mauris orci, aliquet et, iaculis et, viverra vitae, ligula. Nulla ut felis in purus aliquam imperdiet. Maecenas aliquet mollis lectus. Vivamus consectetuer risus et tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Continue ReadingDiscover the Fascinating World of Underwater Photography

Your Perfect Solution for All Diving Needs

  • Reading time:3 mins read

This is a single blog post layout by OceanWP.

You can completely change the layout (sidebar, no sidebar, edge to edge), control the position of the elements and their appearance with a user-friendly loop builder as well as style and customize all other aspects of your website.

Blog posts are the best tool to boost your online presence and SEO, so make it count by creating a presentable layout with a few simple clicks!
The best part? You are in full control over each and every post individually (change header style, menu, footer, top bar, or just about anything!) which enables you to make the best out of WordPress hassle-free.

Did we happen to mention you will get all of this for free? Get started with OceanWP today!

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.

Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna.

Vestibulum lacinia arcu

Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi.

Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante.

Aenean lectus elit, fermentum non, convallis id, sagittis at, neque. Nullam mauris orci, aliquet et, iaculis et, viverra vitae, ligula. Nulla ut felis in purus aliquam imperdiet. Maecenas aliquet mollis lectus. Vivamus consectetuer risus et tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Continue ReadingYour Perfect Solution for All Diving Needs

Testing in isolation

  • Reading time:29 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.

Continue ReadingTesting in isolation

Directions EMEA 2023 demo – decoupling base app

  • Reading time:32 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.

Continue ReadingDirections EMEA 2023 demo – decoupling base app