Practical 3D Printers

This book details how to build and calibrate custom 3D printers, and it teaches the basics of modeling in order to create 3D printed objects.

Clojure

The official website for the Clojure programming language. The website contains the documentation of the Clojure programming language. As a Lisp, Clojure is simple, but it comes with many useful data structures and functions. It also has examples for each library function, along with links to popular guides that use techniques that not only work, but are clean and a pleasure to work with. These things include setting up a project, compiling to Java and/or JavaScript, getting an interactive REPL, and even enabling live code reloading. Lein is the primary project managing tool which enables the inclusion of libraries by simply including it's name and version; it automatically searches the dependency folder or looks it up in the official Clojure repos. Deploying the app is as simple as running lein figwheel. Code interaction is a must have in the Clojure community, and it is simple enough to have the code automatically update when changed, and the code can be interacted with in real-time with a REPL.

Git

The documentation for the version control system git. It contains a book with detailed examples and use cases of how to use git to do things such as create project branches or revert commits. It also has cheat sheets that describe most of the basic git commands and options. Our team is using git to back up our work on github so we do not lose work, and we are using the branching feature to develop features on different branches. This keeps our project modular and conflict free.

MachineKit Installation Guide

A tutorial from a hobbyist that describes how to get MachineKit running on a single board computer in order to run a 3D delta printer. The tutorial describes how to download the repository, how to get the necessary measures, and how to properly edit the config files. Tutorials like this help us know what steps of the installation can and cannot be automated. When our application builds the software, it will probably follow an algorithm similar to the steps listed in this tutorial.

MachineKit Documentation

MachineKit provides a method for linux computers to interface with hardware for machine control applications. The documentation of the MachineKit project has instructions for building and installing the project from source onto a debian based linux system. The documentation is also convenient enough to include information about related material such as what is the hardware abstraction layer, and how it is configured. There is no documentation of APIs but links are provided to the source code and the MachineKit user group.