Gabe Krause on Open Source Workflows

From Open Source Ecology
Jump to: navigation, search

Open Source Workflow

3D CAD Design

Most of my professional design work has led to fluency with Solidworks and Rhino. While Solidworks is horrendous for accessibility, Rhino with Grasshopper has my heart for their capability, UX, creative freedom, and for being relatively accessible. I will typically design in Rhino/Grasshopper for creative efficiency then collaborate by import/export between whatever tools others are using. That said, I am so impressed with FreeCAD for parametric parts design and production that it has replaced Solidworks for me and I would recommend it over Blender or SketchUp. I’ve worked with Blender but found that it’s geared for virtual models more than physical production. It has its place for rough exploration and development, low-tolerance dependent production, rendering, and presentation. Both Blender and SketchUp are worthwhile to incorporate when collaborators are simply more familiar with those tools. Fusion360 deserves a mention because it is such a comprehensive and capable tool which, at this time, is freely available for DIY enthusiasts for non-commercial endeavors. I don’t trust private, internet dependent, SaaS tools for anything but short-term utility. Open source documentation requires resilient accessibility. But I would incorporate Fusion360 into my design workflow with the caveat that all work be diligently documented and exported to open mediums and formats.

Laser scanning is great for quick reverse engineering. My experience with DAVID Laserscanner was good when it was available for free. It has since been acquired by Hewlett-Packard and is no longer free. I’ve had success creating models with photogrammetry scans from a series of photographs. Looks like it’s time to evaluate Meshroom and Regard3D as the latest, recently maintained open source tools in this arena.

MeshLab has been great for cleaning up Photogrammetry and 3D laser scans. Gmsh looks like it could be a good replacement, as it continues to be maintained.

3D documentation and exchange formats

IGES (vendor-neutral file format) and STEP (ISO 10303) are my favorite 3D collaboration formats. The ease I’ve found sharing across platforms has been unmatched. I’ve had a good experience collaborating with OBJ as well.  STL is essential for most automated tooling. And it has been the easiest for communicating 3D ideas with non-technical collaborators. There’s an abundance of free web and app viewers for STL. The universal accessibility of DXF is nice. It’s a decent format for archiving 2D ideas.

Programming

I can’t claim to be a programmer. But it’s a tool that often comes with good documentation so I dive in when the circumstance warrants.

Processing is great for prototyping visual ideas that may eventually be rewritten for a hardware project. I’ve recently used it to model LED lighting patterns for information communication that would eventually be programmed into dedicated hardware.

I’ve used Code::Blocks IDE for managing some C++ work.

I like Anaconda for working with Python. Extensibility is a pleasure. The last project I I used it for explored Big Data ingestion where we implemented the HDF5 format to wrangle gigabytes of energy use data into an accessible form for analysis.

For hardware, I’ve mostly used Arduino and program on their IDE. Most recently I prototyped RGB LED lighting patterns for some user studies, UX development, and product refinement. I generated data tables externally that held lighting animation patterns which the arduino was programmed to read at custom frame rates and display on a connected array of LEDs, housed to look exactly like our finished product.

I've used Hex Editing to reverse engineer and re-purpose specific firmware components. Sometimes that's useful when all else fails.

Audio-Visual Design

inkScape to manage vector files is often part of my design-build workflow from CAD to plotter work like laser cutting or flatbed CNC. I have also done some manual and assisted modification of G-Code since auto-generated code can be dumb sometimes. Intentional G-Code can provide some wonderful results!

Scribus is nice for one-off print publications, but I prefer to focus my efforts on more broadly accessible forms of documentation like any wiki or CMS platform.

darktable is a fantastic and favorite photography workflow tool. I’ve adopted it as my main photography processor.

GIMP has evolved into an ideal photo manipulation program for when darktable isn’t enough.

Sometimes I collaborate on simple film and recording projects. I use Audacity and LameXP for most of my audio design, editing, and conversion needs.

Often needed for documentation communication, Shotcut has worked well for me for video editing. And OBS Studio is excellent for directly capturing video, whether from a computer connected camera or directly from the computer screen for computer process documentation.

Mathematics

I love GNU Octave. I did most of my mathematical modeling work in MatLab. Octave is such a natural replacement. I’ve also had success using Scilab for some mathematical explorations.

Organization

ToDoList is my favorite task management tool. I often use it for organizing solo projects or pre-organizing myself before switching to an online project collaboration tool. I’ve used FreeMind and FreePlane mind mapping tools but I’ve found that a good hierarchical tool like ToDoList provides everything I need to organize bigger ideas. I like yEd Graph Editor for flow diagramming. Not open source but free to use by anyone.

TiddlyWiki is pretty cool for personal knowledge management. I used it for several years on my own, but would never suggest it for collaboration.

MySQL Workbench for managing cloud hosted databases.

Curriculum Interests

Documentation

One of the areas I would like to lead students in is effective and rewarding documentation practices. Both for the upgrading of the quality of information they encounter and for the work they engage in and develop. I’m happy to take part or take lead in the documentation development, critique, review, and presentation processes.

Tool-flow

I love running new tools through a system of testing that familiarizes users with the tool’s capabilities. I could lead students in the process of understanding their tools capabilities, limitations, and where they can push the bounds of capability. I find that getting to know your gear saves hours of frustration during production and streamlines rapid prototyping.

Microhouses

I’d love to lead some education for your microhouse design component. I designed for and lived quite well in a 72 square feet apartment in NYC for almost 10 years. Spatial human flow and comfort is something I’ve spent a lot of time considering. It essential for micro living but also paves the way for successful, stress-free experiences when designing for public and private events expecting many people and possible pedestrian congestion. These were well-considered constraints when I designed The Waterpod’s public spaces and tiny private living quarters.

Aquaponic Greenhouses

My experience with water remediation makes me a good person to collaborate with for teaching aquaponics. I could take this on myself, but I would prefer teaching with someone with direct aquaponic experience.

Solar Printers

I have sufficient experience with light refraction/reflection and precision machinery to lead this design-build component. Though it would be nice to consult if anyone else has direct experience with metal printing using solar energy (assuming that I’m interpreting this tool correctly from the Summer X page.)

CAD

I can lead any or all of the CAD training and coursework for planning, design, and automated tooling.

Modular Construction

I’d love to be working on every aspect of panel design and printing. In fact, I’d like to be in on anything and everything related to modular components! :)