Awesome Trail Building

After working on Rocky Branch since 2018 to renovate the park, it became very clear to me that the Trail Building community could really use a Framework or Templated approach for building trails. Like a niche business segment or company, all trail building projects are very similar in nature, structure, challenges and solutions. While I have not quite filled the gap of “open source trails”, I decided to take one small step in the right direction by compiling a list in the “Awesome” format, many software or online projects use these “awesome lists” to help folks get started in the right direction.

Step 2 of this project would be to build reusable templates, emails, websites, assets, way finding signage, presentations and maintenance schedules. The ultimate goal: Make it as simple as possible for volunteers, cities, towns and land owners to build trails. read more

OpenGraph API – AWS Lambda

Sustainability + Opensource = Win

I really like this sort of manifesto from Bruno (an open source alternative to Postman, Insomnia, ++) – which is a API testing tool. Building useful open source tools or products is generally a labor of love (= Github Stars), but sometimes the love fades (= Github Forks), and inevitably no one wins (= Github Unfollow). As an open source developer, and consumer is to have zero expectations – I got this product for “free” and I am sharing this product for “free” is generally part of my ambitions.

However, many consumers of open source software want to the product to grow and thrive at that free tier which is more often than not unreasonable. This sus up some options around the lifecycle surrounding open source and what consumers, and developers should expect. read more

Export Apple Photos to the Filesystem – Apple Script

I have never really used Apple Script, but recently had the desire to backup all my Apple Photos to my local NAS. I currently have all my photos organized in a Folder -> Album structure so pulled this Apple Script together together to get this done. Create a new Apple Script (*.scpt) and select the source Photos Folder and a location to save the files on your filesystem. Note: Slashes in the name case folders to be created 🙁

https://gist.github.com/paschmann/536def178ea9dd96c22c2143cc2b212c

3D Printing Project: F1 Sim Wheel

I have always enjoyed the concept of being immersed into a virtual world. One of my first experiences with VR was in roughly 1993 when our local arcade introduced a game from one of the OG gaming founders John Waldron called Dactyl Nightmare on a 1000CS. After that experience, I have always wanted to build a motion sim which gets you as close to reality as possible.

Last year I took the first steps and decided to put the initial blocks in place and start with sim platform that I could eventually add motion to. I purchased a Fanatic wheel base and thought it would be a great learning experience to build the steering wheel from scratch. Many of the components can be built versus bought which is what is keeping me motivated to eventually get the entire system together. read more

DIY – E V E R Y T H I N G

Designing, building and then using something you have made, has been one of the most rewarding and personally satisfying activities I have found in my life so far. I was born a tinkerer, always disassembling, trying to understand and improve or recreate.

My favorite TV show is “How it’s made”.

I have way too many expensive tools, printers, cutters and machines, and not a single one has made a significant return on the investment … but, what I have learned using them has been 10x …

Its not just the tool, its the tools to use the tool, the software to design the product, the process to start, run or finish the machine or product, the prep work, consideration and the functionality. read more

Laser Cutting Project: Bicycle hook

This weekends challenge, a better hook for a bicycle:

Want to laser cut one of your own or remix it? Check it out on Thingiverse

This is a vertical based bike hook for bicycles with aero (deep) front rims. Currently there are not many wheel hooks that keep the front wheel vertical and that don’t scratch the rim when putting the bike up.

The hook is lasercut using a glowforge and medium draft board (the material thickness is important as all the slots need to interlock). Assembly is slotting the parts together and installation requires two screws/anchors into the wall.

It was specifically designed for a Reynolds AR80, however, I believe other wheels with similar dimensions, depths or profiles should fit. read more

Open Source Project: Reach SDK

Over the past few years I have found myself re-implementing and re-writing basic features of server, web, mobile or service components. Registration, Login, Forgot Password, Notifications, Search, Help, FAQ, Contact Us, Maps are just a few I can think of, where half way through the development everything seems familiar and I have a case of deja vu. No doubt I have written or implemented a library or service which performs this specific function.

While developing the Changd app I found myself in one of the deja vu moments while writing the email notification service, and decided to pause development, and fix the root cause. After multiple Github issues to support a variety of notification providers, I came across Apprise, a python library which supports multiple notification provides. Since there was not a Node.js implementation, I decided to use Apprise as inspiration and influence for a Node.js library which I aptly named “Reach”. read more

Publishing packages to NPM

These are the notes/process I used when developing the Node Reach SDK package:

The “Standard” Release Process

Here is my understanding of the steps that are most commonly expected to be run when publishing a new version of an npm package.

  1. Safety Checks:
    1. git pull
    2. git status
    3. npm ci
    4. npm test
    Prepare the Release:
    1. npm run build
    Update the Changelog Update the Version Number:
    1. npm version
    2. Or by hand:
      1. Update version in package.json & package-lock.json
      2. git commit -am ‘2.0.0’
      3. git tag v2.0.0
      Publish to npm:
      1. npm publish
      Publish to Git:
      1. git push
      2. git push –tags
      Create a GitHub Release (optional)