DConf 2023 roundups

Posted 2023-09-04

Last week was the DConf 2023 in London. I didn't go (and I'm glad I didn't), but I have reports from the youtube.

Core D Development Statistics

In the community

Community announcements

See more at the announce forum.


What was in the talks?

Schedule (includes links to slides): https://dconf.org/2023/index.html#schedule

p0nce and Webfreak wrote up talk-by-talk minutes: https://gist.github.com/p0nce/3cd6fc0df00763e7f642e3111807ee8f

The youtube livestreams are also available:

Day 1: https://www.youtube.com/watch?v=uzuKqiFVNZM

Approximate timestamps (thanks to the youtube comments from pierrehebert9743 and replies):

  • The Truth About D: 18:45
  • Types and Tuples in D: 1:18:00
  • DMD as a Library: Between Myth and Reality: 2:21:41
  • Stack Memory is Awesome! 4:46:34
  • Simple @safe D: 5:47:30
  • Getting from C to D without Tripping: 6:48:00
  • D Code Generation, OpenAPI, and Integrating Services with REST: 7:51:00

Day 2:


Approximate timestamps (thanks to the youtube comment from jondoe6608):

  • 7:55 | Crafting Self-Evident Code with D
  • 1:09:17 | Hipreme Engine: Bringing D Everywhere
  • 2:09:35 | A Semester at University: Teaching Software Engineering in DLang & Learning Software Engineering in DLang
  • Lunch
  • 4:38:07 | If I Cannot Dissuade You from Using Atomics, at least Do It Safely
  • 5:37:36 | Taming the Snakes
  • 6:42:46 | The Multiplix Kernel: OS Development with D
  • 7:42:34 | Neat: a D-Lite Language and What D can Learn from It

Day 3:


Approximate timestamps (thanks to the youtube comment from jondoe6608):

  • 12:44 | You're Writing D Wrong
  • 1:13:12 | Internationalization with gettext
  • 2:17:51 | The QUIC Protocol in D Lunch
  • 4:47:51 | Lightning Talks
  • 6:02:46 | A Beginner’s Journey with AI in D
  • 7:01:45 | Running Large Language Models in D Programs
  • 7:51:12 | Ask Us Anything!

My thoughts

On the presentation itself:

  • the stream should identify the current speaker and topic in a banner
  • the mic should stay on in between talks so you can hear side talks
  • the volume was generally too low on the livestreams

Some notes on content:

  • remember to = void stack buffers at the variable decl point, it no good to do in the struct decl.
  • walter said "you don't have to document" when you use attributes, but really, you still do! The attributes are sometimes ambiguous even when you know them, a lot of people don't know what the attributes mean. You also need to differentiate between what the implementation forced on you for now and what you intend to support long time. I'd suggest writing it anyway to be clear.

    At first, I thought I might make adrdox highlight these things automatically and link to explanations of the keywords, or paste in boilerplate, but i never got that to actually work... so I still think you should just go ahead and write the docs yourself.

  • Walter said D doesn't have SFINAE... but opDispatch says "lol".
  • Mike Shaw's talk reminded me of what I like to say: "D meets you where you are and takes you where you're going" and I think he'd agree with that and the students might too.
  • I'm tempted to make an implementation of that whiteboard thing with the arsd libs too some day.
  • Roy's talk about atomics triggered my deja vu - the first part of it was virtually identical to his talk last year again.
  • The talk about the multiplex kernel reminds me of my old minimal.zip and the samples in my D Cookbook from ten years ago.
  • A GC in the kernel could be very interesting both for the kernel itself and as a service to applications. I'd like to see more people investigate that.
  • Atila continues to repeat his esoteric style preferences. I actually agreed with almost half of what he said, more than I expected. For example, he said the API is more important than the implementation. I agree. But then he goes on about private @safe const and saying never use classes and ugh.
  • gettext is a nice library and it works in nicely with D. I pointed Bastiaan to look at the YAIDIP - that tuple interpolation dip - as I think it would mesh very nicely with gnu gettext. He reviewed it the following day and opened a PR with some additions.
  • Chris Oldwood had some fine jokes, I think I might have enjoyed that five minutes more than any other in the stream.
  • dmd -i is amazing and the way all things should be built. Atila likes to promote his reggae thing, and there's some applications where it works, but for everything I've tried, it gives at best 40ms speed up at the cost of an enormous setup hassle. I might more about this next week.
  • Murilo has been a nice user of the arsd libs - everything he showed in that is built on those libs to some degree or another. His use cases also led to some api improvements on my end. It is cool to see what people can do.
  • In the AMA, Atila said his IVY made him realize he doesn't want to do Phobos PRs and such. Makes me wonder... what exactly is his job as "deputy leader" of D?

So, why am I glad I didn't go?

  • Lots of people reported travel trouble getting in there.
  • Several laptops were pilfered on lunch.
  • There's several confirmed covid cases resulting from the conference as of this writing.
  • There were flight cancellations and turn arounds from people trying to leave too.

All things that bring me pain. I'll stick to the youtube streams. Maybe next year.

Livecoding session

After the talks were over, I got on my twitch for a livecoding session, as I've been doing in the dconfs lately. This was not on the schedule this time but i did it anyway, spent about 45 mins implementing some of the status bar stuff from my previous blog entry.


I will probably let this video be auto-deleted at the end of the week. I had zero people come on to chat during it and it felt like a complete waste of time, even worse than last year's thing.

If people want me to do things like this, you gotta get on chat to talk to me.

(though the feature implemented there has brought me joy already in just the last few days!)