Blog
Bed frame
A bit premature, this one, but because I'm going to be dealing with the aluminium profile for the roof rack I'm getting it out the way.
Not much in the way of progress pics, as it's just bolting aluminium profile together, but here's the plan: 45mm aluminium profile bolted together using core screws and brackets for maximum strength, with a corner on each side at the back to make room for the rear pillars.
Assembling the rear section, which will go around the pillars
Assembled, with 6ft human for scale
The corners on cut profile are surprisingly sharp, so in order to protect the paint of the van, and other things, I designed and pri
Posted on Saturday the 20th of February 2021
Read more...
Slide out step
Whilst I can get in and out of the van without a fuss I understand that it's not so easily accessible to others, and I want it so that people can get in and out with little fuss, so I've fitted a Thule slide out step. I will eventually be hooking it up so it opens and closes with the sliding door. I do have a prototype circuit to control the step, which shows promise.
As an extra usability upgrade I put an LED strip under the front of the step to illuminate the ground underneath.
The LED strip, in aluminium profile, with 3D printed holders
I had to drill the step arm to route the cable for the strip
Routing the cable in the arm means that it'll be protected and kept neat and tidy both in transit and as the step actuates.
, cooking facilities and a few other bits. I also want to be able to accommodate a decent size social gathering of 6 to 8 people, as well as make it 4 birth.
Here's what I've come up with so far
What you see above isn't the first iteration, and it's not the final one either in all likelihood, but it's very close to what I'm pretty sure will be the final plan.
Main features, from left to right (front to back of van) are:
- Double seat on the driver's side and single seat on the passenger's. These will expand out to make another bed.
- Coat storage
- Shower
- Kitchen
- Fixe
Posted on Wednesday the 25th of November 2020
Read more...
Don't ask me what inspired this, as I have no idea. I'm just going to detail the process on how I got this from an SVG to a 3 colour 3D print using FreeCAD.
It turns out there's a list of UK road signs in SVG format. Simply download whichever sign takes your fancy and follow these steps to make a model using FreeCAD.
Design
First, do the usual and create a new document with a new body. Then go File
->Import
and select the SVG file, then click on SVG as geometry
followed by Select
.
When you import the SVG there may be a whole load of redundant paths. Select and
Posted on Wednesday the 15th of July 2020
Read more...
One of the key things I like to do when setting up a new project for my team is to make it as easy as possible to get up and running. One major facet of this is making sure any local dev config stays local, even if it's part of a deployed config file (as is the case in Umbraco). In this situation you need to be able to ignore or exclude certain lines within git.
Note: I'll be using what I did with Umbraco throughout as a practical example, but the same principles apply to any file.
The three steps
First I created a new bash script, clean-umbraco-config.sh
, to clean out the offending content:
#!/bin/sh
sed \
-e 's/<add key="Umbraco.Core.ConfigurationStatus" value=".*" \/>/<add key="Umbraco.Core.ConfigurationStatus" value="" \/>/g' \
-e 's/<add name="umbracoDbDSN" connectionString=".*" providerName=".*" \/>/<add name="umbracoDbDSN" connectionString="" providerName="" \/>/g' \
$1
What this
Posted on Saturday the 14th of March 2020
Read more...
One of the major drawbacks with Umbraco is the need to manage the config when making a new deployment over an existing one. When you're in a managed environment, such as Azure App Service in my case, you can't log on to a box to do the usual backup/deploy/restore so easily. Also; I don't want to have to do that every time I want to deploy, particularly for a CI environment where multiple developers could be pushing multiple times a day.
So why not just commit the config changes after install, then you don't have to do that, I hear you ask? Well I also don't want to have to delete the install specific config when deploying to a fresh environment, or when a new developer pulls the repo.
To start the process I put in a git clean filter to strip out any install specific config. Now developers won't be able to commit their environment specific config and mess up the deployment. I've described how I did that [here](/blog/view/git-ignoring-specific-lines-prevent-personal-config-being-co
Posted on Friday the 7th of February 2020
Read more...
When working on a microsevice architecture utilising AWS lambda my team and I were finding that it was taking over 30 seconds to complete our web requests after the service had been idle for a while (AWS kills lambda instances idle for greater than 15 mins). This was a problem for 2 reasons; the lambda function sits behind API gateway which has a timeout of 30 seconds, and it's unacceptable to have a request take that long. We needed to improve this situation and we had two obvious options; stop the lambda from being idle, and improve startup performance.
And with a microservice architecture this is exacerbated because each service you talk to has to go through the startup procedure.
Stopping the idle lambda from dying
There's a common concept among those that have used AWS lambda in the past to serve up sites: warming. This is basically when there is a scheduled job to call the lambda at intervals below 15 minutes in order to keep AWS from killing it. This can either be a se
Posted on Saturday the 25th of January 2020
Read more...
When you're dealing with a microservice architecture solution, it's likely you have a lot of small repositories. Keeping them up to date can be a pain, so I wrote a simple script to update each directory:
Bash:
#!/usr/bin/env bash
for f in *; do
if [ -d "$f" ]; then
cd $f
git pull
cd ..
fi
done
Batch:
@echo off
FOR /D %%f IN ("*") DO (
cd %%f
git pull
cd ..
)
Pretty basic stuff; just goes in to each directory and does a pull. Saves having to do the same thing yourself. Particularly useful if you've not picked up the project in a while.
Posted on Wednesday the 22nd of January 2020
Read more...
This site has been a thing of neglect. I've been looking at it from afar thinking about how I should just put it out of its misery. It was written in PHP in a self rolled MVC framework many years ago. At the time I was happy with what I accomplished with it, and I learned a lot from doing it all myself, but it's not aged well.
So I've redone it from the ground up in ASP.NET Core MVC. It uses markdown for the blog entry now instead of my own parser, it includes a list of my 5 most recently worked on projects in the nav, and has a much more basic front end design. I've gotten rid of all the Javascript because I don't really need it. The design is a bit ugly, but I'll get round to investing some more time in it at some point (yeah, right).
I'm hoping with this much simpler setup that I will write down some of the more interesting challenges I've had to overcome and their solutions. There's a few things I've had to do that I wanted to write about, but didn't want to deal with the web
Posted on Friday the 3rd of January 2020
Read more...