Hey I'm Kurt

Known for my youtube channel, newsletter and OpenScad resources, including a library listed on openscad.org.

Currently I'm VERY EXCITED about CadHub.xyz

Getting started with a Serverless Github App

If you've considered enhancing your teams workflow with a Github app, or even developing something for a wider audience, the Github API is very good. Nevertheless, it can be a little tricky if you want to use serverless-node as the official tutorial is in Ruby and the Official Octokit node packages is catered to a more server-full solution (i.e. they have middleware for handling auth, which i. . .

Gotchas when using AWS docker-lambdas with the Serverless framework

I've recently spun up some lambda-docker containers for a CadHub feature. Infinitely scaling lamdas where I can control the environment sounds perfect right! The devil is always in the details and here are some sticking points that I hit. Building on top of amazon's images is hard. AWS needs some of their own magic on the docker images in order for them to spin them up quickly. If you build on . . .

Curated Code CAD

What is Code-CAD? It's software that allows you to define 3D CAD models with code. It's a niche popular amongst software devs for obvious reasons — it gives you parametric models almost by default and it's easy to maintain and extend models within a team over time when paired with git. The coding nature of it allows teams to build their own abstraction for re-use and quick prototyping. The Cadhu. . .

Testing netlify identity functions within RedWoodJS

So your working on a RedWood app and have opted to use netlify identity. That's great, allowing netlify to do the heavy lifting of your Auth, while still letting you hook into particular events by triggering "identity events". This is covered a little in the RBAC cookbook , but here I want to talk specifically about using these events to write to your db, such as creating a new user. Here's an e. . .

OpenScad Review - Is it worth learning?

This is an: Overview of OpenScad and where it fits in with other cad packages. What's it good for and not so good for, And whether I think it's worth learning. Checkout out the video version here: OpenScad is a CAD or computer-aided-design package. In a nutshell, it's software for making 3d models that are dimensional and mechanical in nature, as opposed 3d graphics software like blender, wh. . .

Round-Anything API

This is a deep dive into the Round-Anything library API for OpenScad. For a general overview of features and how to get started and the motivation behind the library, see the written overview or the video overview below. Quick side-note I'm currently working on a community website for "Code-CAD" (like OpenSCAD). A good way to think of it is codepen crossed with a thing repository. You can c. . .

Round-Anything, a pragmatic approach to OpenSCAD design

Round-Anything is primarily a set of OpenSCAD utilities that help with rounding parts, but it also embodies a robust approach to developing OpenSCAD parts. I built this library to solve some of my own struggles with rounding and OpenSCAD, and I've been happy to see other's are finding it useful too. The Why The truth is radii, internal radii, in particular, can be a real pain to add in opensc. . .

Deep AST matching guide

So you want to take advantage of the javascript AST, and move beyond elemental use cases, (e.g. finding string concatenation in order to convert to template literals). The technique well go over is match more than a single node, while keeping track of where we are within the AST as we traverse it. As a simple example, let's say you want to match function-returns where the return is an object with. . .

Thinking of your code as data with ASTs

ASTs (Abstract Syntax Trees) are an appealing tool for developers. If you don't know what they are, see my references below -- it's worth getting a base understanding so that you'll know when they could help you. One much spoken of possibility of ASTs is automatically refactoring code, so-called code-mods. Another compelling application for them is to gain insights into your code or to help speed. . .

Ego and the computer.

In 1992 Neil Postman asked in his book Technolpoly "Will the computer raise egocentrism to the status of a virtue?". Nearly three decades on from when it was published, has time proven him right? In Technolpoly, Postman notes that the computer as a medium emphasises private learning and individual problem solving, hence the link to ego. If we look to the tech-world and Silicone Valley, both the e. . .

MRI Volume Slice - Project Spotlight

My engineering honours thesis back in 2014 was in visual neuroscience. I worked a lot with MRI brain images as a technique called retinotopic mapping is a big tool in this field. Specifically for my thesis, I was looking for novel ways to automatically segment different brain tissue from a specific type of brain data (functional MRI data). That aside, it means I have quite an affinity towards MRI. . .

React hook - lazy loading pattern

Lazy loading some data, that you also want to save into your app data store is a common enough task to warrent abstracting to a common pattern. TLDR Use a consitent convention for naming hooks following this pattern, for example `use<dataName>Data` so useFilterData, useActivityData etc. Always return an object from the hook with data, loading and error properties. This will give them a predicta. . .

Use Apollo with Gatsby (or SSR)

So the short of it is, you need to use `isomorphic-fetch`. There's no point me repeating what's already been said well in the apollo-docs , so start there for setting up apollo-client. However you might find everything is working in dev mode, but your project won't build 😔. Here's the fix, first: Then, where you have initialised your apollo client you need to: Why? It's because the ApolloCl. . .

Did you know you can get Electronic-Mail sent to your inter-web inbox, for FREE !?!?
You should stay up-to-date with my work by signing up below.