Mansions of Madness Box Insert

4th
Jan
2023

We recently expanded our Mansions of Madness Second Edition collection to include all in-print expansions. Mansions of Madness is an app-driven cooperative board game set in the Cthulhu Mythos where the investigators (players) explore an expanding map, collect clues and battle minions of the Great Old Ones. The app takes on the “Keeper” (dungeon master) role from the first edition of the game and is responsible for revealing the map, triggering events, and tracking monsters.

With all the (available) expansions there is a huge amount of content in Mansions of Madness both electronically (in the form of scenarios) and physically.

Unpacked contents of Mansions of Madness
Unpacked contents of Mansions of Madness

Before getting the expansions our solution for organising the components was lots of zip-lock bags and cramming everything into the original box. With the extra components this became unwieldy making setup and packing up the game a chore. Luckily I had recently received an Elegoo Phecda 20w laser cutter that I’d backed on Kickstarter which could be used to create a proper storage solution.

Router Table - Build

1st
Feb
2022

This is the second part of my January 2022 project to make a router table for my Triton MOF001 using a Kreg table insert. If you haven’t already, head over to part 1 for the design stage of this project.

Building the Top

Slots for the T-Slots were cut using a 19.1mm (¾ inch) router bit with wooden guides attached to the top using double-sided tape. Once the slots were cut, the ends were squared off using a chisel and the slots mounted with the supplied screws. The only small issue was that the screws were longer than the wood underneath the slots so they poked out the other side. This was something I was expecting to happen as there is only 8.5mm beneath the slots (18mm total minus 9.5mm for the slots). A few minutes with a cutting disc on a Dremel rotary multi-tool followed up by a quick sanding was enough to remove the offending spikes.

Router Table - Design Stage

23rd
Jan
2022

As previously posted, the goal of this project is to create a table for my Triton MOF001 router using a Kreg table insert that I bought a few years ago. While this is a relatively simple project, it will enable me to use the router for more complex projects in a safe manner.

The router table needs to be easily portable as I don’t currently have a permanent workspace and will get used on top of a Workmate (or hopefully a better bench later).

Maker Challenge 2022

1st
Jan
2022

To help focus my making and encourage me to use this blog, I’m setting myself the challenge of completing and documenting one maker project a month for 2022. These projects will be focusing on tangible objects (so no purely/predominately coding projects) and will include things like woodworking, 3D printing and electronics.

My goal is at least one blog post per project outlining the goal, any interesting steps along the way and the finished result. More complicated projects will probably result in multiple posts as I work through various issues along the way and will focus around a single issue or area of interest. There might also be the occasional Twitter post if something is particularly interesting or photogenic.

The list of projects hasn’t been finalised yet, but I have ideas that should work for most months of the next year (and plenty of ideas for the future!). At the end of each project write up, I’ll reveal what the project for the next month will be - hopefully this will ensure that I follow through with the project.

Filtering lazy-loaded JPA fields in JAX-RS with Jackson

29th
Jul
2020

While working on a side project using a JAX-RS API and JPA I wanted to explore how the entity graph features introduced in JPA 2.1 could be used to simplify data fetches for different endpoints. One issue I quickly ran into was how to deal with LazyInitializationExceptions with unloaded lazy fields.

The Hibernate module supplied by Jackson didn’t meet my needs and I couldn’t find any examples of what I needed so it was time to delve into how Jackson filtering works. The end solution turned out to be fairly straightforward and doesn’t rely on any vendor specifics so it’s worth sharing.