Jeremy Davis
Jeremy Davis
Sitecore, C# and web development
Page printed from: https://blog.jermdavis.dev/

A blog about technology that catches my attention

It's a bit like a swap-file for my brain...

10 years, 345 posts and counting

Oi Docker, where did my forms go?

Rediscovering a classic (yet still confusing) issue

Recently I got a fun question from a fellow dev: After pulling some changes and doing a sync of serialised data they were expecting to see some forms in the Experience Forms editor so they could work on them. But nothing was showing up... The root cause here is a bit of a classic issue that many people will have seen before, but it still seemed worth writing it up. Even if just to emphasise that this has been around for a while and it's still a thing even if you're using containers.

Reference counting for debugging resource leaks

A way you can spot leaks without a memory dump

I wrote about diagnosing some issues with static event bindings in a previous post, and talked about finding these issues of "subscribing more than you unsubscribe" with memory dumps. But finding this sort of a problem before it becomes an issue is better if you can, so what techniques might we use for that?

LINQPad is great!

And this isn't even a sponsored post...

Over the festive break I spent a bit of time trying some of the challenges in this year's Advent of Code. I wrote the logic for my answers using LINQPad, and it struck me that this has become one of my favourite developer tools. So here are a few of the reasons why it's become a key part of my toolkit, and why it might be a useful thing to add to yours too.

.Net C# ~4 min. read

Integrating Ping Identity for public login

If you don't want Entra for your IDAM, what else might you do?

A while back I wrote a bit about how you might integrate Extra External ID with Sitecore to provide a very minimal IDAM integration for login. But in the follow-ups to the internal discussions that gave me the idea for that post, my project started talking about alternatives to Entra. So what might you be able to do if you chose Ping Identity instead?

Sitecore Composable ~8 min. read

Watch out for Events in your Sitecore code

They are an excellent way to break stuff if you don't understand them...

After my recent delve into memory optimisation for non-work code, I spent some time recently investigating a memory issue in a production Sitecore site. The outcome of that was an issue which can be a common problem for .Net code. So in the hope of seeing it less in the future, here are some notes on what I saw and how you can avoid the same trap...

Optimising your allocations in .Net

If you want to go fast, you need to care about memory...

I spend most of my working life building website code at work, and sometimes I get involved in performance work with that sort of system. In fact I've written and presented on that topic for Sitecore in the past. But some code I've been working on in my own time needs much more focus on code performance than that - the maths-heavy code for ray tracing. I've been looking at some optimisiations for that recently. And one thing that this has reinforced for me is how "easy to write" code can have some performance challenges...

Extracting blog article headings for navigation

I've been meaning to implement this for a while...

I've wanted to add some logic to this site to display article headings as navigation for a while. And I've also been thinking it would be helpful if you were able to link directly to headings. Pleasingly the Statiq engine makes doing this pretty simple, so here's how my attempt works:

C# Statiq ~6 min. read

My post-Symposium wrap up

What was novel and cool to me?

Symposium is over for another year. I have mostly recovered from the jet-lag now and I've wrestled my inbox into submission at work. So it's time to write up my thoughts on the conference. I took about 35 pages of notes over the course of the week, plus countless photos of slides. So from all that what stuck out as interesting to me?

What's the 'minimal change' to use Entra External ID for public login with Sitecore?

How much work would be required to allow its use?

I did a little proof-of-concept hacking recently around the idea of "what's the least work required to allow your existing Sitecore website public login to move to Entra". I ended up with the bones of an interesting approach, which might be of interest to others. So read on for ideas:

Docker might not like your Sitecore secrets

Why do I suddenly have odd looking warnings?

I quite often clone Sitecore's Docker Examples repo and spin up a Sitecore instance to experiment with. It's a quick way to create a disposable site which I can easily configure and deploy little bits of test code to. But recently I did this and noticed some odd warnings. So here's what happened and why, to help you avoid the same issue...