An upturned 3D printer build plate, showing a batch of 60 studded Space Marine shoulder pads, in the style of Mk 6 marines from the Horus Heresy: Age of Darkness boxset. They have been printed in a dark grey resin

Added supports to an STL I wanted to print for the first time. It even printed out fine… eventually. The first attempt came out as a near solid brick of resin, and required a very messy cleaning out of the resin vat, to remove parts that had stuck to the bottom. It was just a tiny, very simple thing – a space marine shoulder pad – but: yay! I finally did it!


Context:

For those unfamiliar with (resin) 3D printing: because 3D printing is done layer-by-layer, and resin printers essentially work upside-down, most models require some form of supports added to the model before it will print OK in a resin printer. These act as scaffolding holding an area of the model being in place while any surrounding geometry is cured, preventing “islands” (areas of a model not connected to the rest of the model on that layer) from sticking to the bottom of the resin vat when the build plate is raised. Resin stuck to the bottom of the vat is a very bad thing – 1, your model will be incomplete, if it prints at all, and 2, it can lead to a broken printer. So: supports are important! See below for an example of an excellent, professionally supported model:

A professionally supported commercial STL file, ready to print

I’ve been putting off trying to support models by myself; mistakes take a long time to discover and a massive pain to clean up. Most commercial models come “pre-supported” – a professional has already done the work. But I still have plenty models in my library which are by hobbyists and come unsupported; if I want to print those, I have to learn how to do it, so I’m going to have try. I watched a couple of videos on YouTube to get an idea of what I need to do, then just gave it a shot in Lychee, checking the output in UVTools regularly to make sure I hadn’t missed any unsupported islands.

Despite this checking, and creating a supposedly perfect setup, my first print failed. Badly. I think it was because I didn’t raise the model up high enough from the raft, which combined with the suction force created by the type of raft I chose, compounded three problems – partial peeling away from the build plate, deformation caused by too few supports, and close-together parts fusing together when exposed (in this case the raft, supports, and model). Like I said, it came out like a solid block with bumps where the tops of the pads should be, after 1h 45 minutes in the printer. Much swearing, and spending my lunch break cleaning things up followed.

Going back to the drawing board: I raised the model up, added lots more – but thinner – supports (probably more than I needed), and changed the raft type to one which wouldn’t act like a suction cup. 2h 19 minutes later and I had a very successful print!

An upturned 3D printer build plate, showing a batch of 60 studded Space Marine shoulder pads, in the style of Mk 6  marines from the Horus Heresy: Age of Darkness boxset. They have been printed in a dark grey resin
An amateurly supported STL file, printed 60 times

A screenshot of some Laravel user authentication boilerplate code

The festive break seems to be one of the times I manage to sit down and try something new. This year I’m taking the time to learn a little of the PHP framework Laravel, by way of re-writing an app I made last year with React and Firebase. That app always felt a little fragile to me, even though it succeeded at its basic functions – probably why I haven’t gone back to update it at any point in the last year. In my defence, that app was a learning exercise too, as I wanted to brush up on React for my day job before starting on a project at the start of 2022.

But safe to say, I’m much more comfortable with “the old ways” of PHP. I’ve been writing PHP in one form or another for close to 25 years, and even though I wouldn’t ever call myself an expert due to my on-off usage of it over the last decade, I do still have the basics of the language in my head. I can follow along and debug most code I’ve encountered just fine. PHP 8.x is different enough that I definitely need to follow some tutorials to write it, but there’s still a lot I recognise. Laravel itself has a lot of similar concepts to frameworks I’ve used in the past, it just does them with modern practices and architecture. Again, lots I’m unfamiliar with, but plenty that I recognise.

Apart from making I Painted This! more robust and supportable (in my view), one of the primary drivers for this exercise – other than as a convenient excuse for learning – is that the app primarily uses Twitter for authentication. That’s not something I’m comfortable with any more, so it’s got to go – and if I needed to do that change, I’d be as well giving it a complete overhaul!

A few of us at work might be moving to a project that uses React more heavily than anything we’ve done before, so I wanted to make a list of any interesting links which might be useful to share with the group. Some might not be specifically about React, but were useful for me getting up and running on my home PC, or are worth storing for future reading:

Much like my development environment notes, this post is pretty much just for me – but if you find it useful, I’m glad!

Since last year I’ve made a point that whenever I feel a bit “neurofunky”, I try to do something to invest in myself. The last few days have been a thing so I’ve planned the pathways to my next certification(s), and set myself up with some of the resources I’ll need to get there.

Right now, the plan is to complete the following exams over the next 6 weeks:

  • Azure Data Fundamentals (DP-900)
  • Power Platform Fundamentals (PL-900)
  • Azure AI Fundamentals (AI-900)

At least 2 of those topics are pretty much brand new to me, so it’s going to be an interesting time…

I’ve already booked the exams, to give myself a set timeframe and deadline for each. My employer offers vouchers towards taking these exams, so it doesn’t cost me anything over and above the time and effort investments. Even if the exams hadn’t been free, then I’d have probably booked at least one of these (or maybe more, just spread out over months rather than weeks)

So we’ll see how it goes. I’m excited to learn some new things, but I am conscious I’m going to be under a bit of stress due to the timing.