It slices! It dices! But wait! There is more!

Image for post
Image for post
Photo by Caspar Camille Rubin on Unsplash

Use the right tool for the job. But it is awesome when we find a tool that can be used effectively in many different ways.

I use Node to develop solutions for my customers. Those solutions may just be an API, or integrating with a front end framework over a REST interface. But those solutions sometimes involve setting up WebSocket servers, command line scripts, one-off data manipulation tasks, creating or accessing job queues, or even a comprehensive package that does everything in a modular way.

Here is how I break down my tasks

  • Data Access. I use Knex.js for creating my data models when I am dealing with relational databases. For non-relational databases I’ll use the appropriate library. Either way I wrap the access to the data store into meaningful data objects that can be used independently from the application. This allows me to call my data items from batch files, or other applications with little effort. …

OMG it is HUGE!

Image for post
Image for post
Mostly assembled Ender 3 Pro with the Ender Extender 400 kit. (my older printer in the background, where it belongs)

I have applied the Ender Extender 400 to my Ender 3 Pro. There are some gotcha’s that need to be considered over and above the extender kit.

The Creality Ender 3, Ender 3 Pro, Ender 3 V2, and Ender 5 printers are popular 3D printers. These are relatively simple to assemble, setup, tune, and get printing with good output. And they are inexpensive compared to other vendors providing similar specifications. The Ender 3 models come with a 220mm X 220mm print bed (or a 235mm X 235mm). This is good for most prints, but can require some models to need multiple parts printed and later assembled or glued together. …

From zero to productive coding in a few minutes

Image for post
Image for post
Photo by Ashutosh Dave on Unsplash

I have just started another Node.JS project and noticed how fast I was able to go from concept to writing productive code. By productive code I mean code that applies to the project, not “foundational” work needed to get the coding environment ready for your project. I’m sharing how I did that here. Let me know if you have any tips to speed up that process even more.

The project

This is a research project diving into the guts of e-commerce. This is a large topic that has more steps than “just post a product” to it. …

Things I encountered

My Frankenstein of a 3D Printer with various enhancements applied.
My Frankenstein of a 3D Printer with various enhancements applied.
My Frankenstein of a 3D Printer with various enhancements applied.

I recently dusted off a 3D Printer I had sitting in the basement. It was placed there because it had many challenges to it and I just didn’t have the time to address them. Thanks to the pandemic I had an opportunity to get back to it. I got my start with 3D Printing in 2012 with a Makerbot Replicator. By 2014 I had to set aside 3D Printing to focus on some family issues that had come up (and have since been resolved in a positive manner). So my skills were quite dusty as well.

The printer is a clone of the Prusa I3 model . This particular printer uses an acrylic frame and has dual Z-axis motors to move the X axis up and down. The Y axis moves the bed forward/backwards. This printer has become my education platform for re-learning the ins and outs of working with FDM based printers. It is my Frankenstein monster with various minor improvements (as evident by the drag chain done in black and green, but not in a “planned” way…). …

For those looking to create at home.

Image for post
Image for post
Photo by Xiaole Tao on Unsplash

So you want to get a 3D Printer and make things. We all have to start somewhere and are likely to make errors in judgement along the way. At least until we learn more. Starting with the right printer helps avoid frustrations, delays, and discouragement. Read on if you are starting from scratch.

3D Printing Methods

There are three common ways to “3D Print” an object. The right choice for you depends on how you respond to the factors we mention below. But first we need to define these 3D Printing methods.

Filament Diposition Method / Fused Filament Fabrication (FDM or FFF respectively) pushes a plastic filament through a heated nozzle, much like a hot glue gun. That nozzle is moved to the correct position in an X/Y coordinate system, then moved “up” along the Z axis to apply the next layer on top. These printers are not very costly (in comparison to the other printing methods) and the materials are cheap as well. They are difficult to achieve layer heights smaller than 0.1mm though. It is possible to do so, but these printers take much longer to print at those layer heights. Still 0.1mm or even 0.3mm …

Magic rarely happens, but can be made more likely

Image for post
Image for post
Photo by Kevin Jarrett on Unsplash

I have worked in the IT industry for 20+ years. I have learned that the most worthwhile tasks are not the easy ones. Instead they are the ones that take time and effort to become easy. I have also noticed that this applies to more than just the tech projects.

An example may help illustrate the idea.

For the past month and some I have been tinkering with a cheap 3D printer that needed some tender loving care to get fully operational. The details of the work to be done are highly technical. To be honest, I was in over my head. My local hacker space has reduced their personal interactions due to the pandemic. So I could not easily talk shop with my colleagues there. Asking questions online is always hit and miss if you get a response, or get a response right away. …


Image for post
Image for post
Photo by Paul Carroll on Unsplash

I recently posted How I use Node.JS professionally. Node has to run on top of an operating system. I choose Linux whenever possible.

Why Linux? That is a subjective question. You will get different answers from different people, and it highly depends WHERE Linux is being used. So I’ll discuss my own opinions and experiences. These may or may not apply to you.

For me it comes down to reliability. It just works. Except when it doesn’t of course. I find those exceptions are rare though if I stick to the big name distributions such as Debian or Red Hat. Whereas other operating systems I’ve used have a high maintenance requirement in comparison, or stop working properly on a regular basis. The maintenance may be a non-issue if you have a dedicated IT department for those things. I prefer not to NEED an IT department just to keep my box(es) running. …

Regardless who wins the 2020 US election

Image for post
Image for post
Photo by Javier Allegue Barros on Unsplash

I’m a Canadian observing what is happening to our southern neighbours. I’m not a political expert. I only have average awareness about economic concerns. I am not an American history buff either. And my only source is News and the Internet. Regardless, what I see worries me about the years ahead.

The US election is two weeks away. At the moment I’m hearing that Biden has a lead over Trump. I’m not reading too much into that lead though. This is what we saw in 2016 and the Electoral College ignored the popular vote and installed Trump as President. The media has been amazed at the growing lead Biden has over Trump in the polls. But the numbers are pretty much what they were a month ago. …

Reviewing industry direction versus language loyalty

Image for post
Image for post
Photo by KOBU Agency on Unsplash

PHP is a decent web application language that is improving itself regularly. So why would I consider looking elsewhere for web development?

There are a lot of answers to that question. Most of them are subjective and have more to do with how an individual programmer thinks about their craft. Programmers working with Drupal or WordPress use PHP by default. Programmers who are working on applications that do not fit the Content Management System paradigm MAY use PHP, but they are just as likely to be using something else.

For me, it came down to separation of concerns.

Any front end developer will tell you how useful it is to separate your content and structure from its behavior(s) and styling. We end up having an .html file, a .js file, and a .css file to separate these things. Or we may opt to split these into many files to compartmentalize and modularize your page. …

3D Printing frustrations and successes

Image for post
Image for post
Photo by ZMorph Multitool 3D Printer on Unsplash

We celebrated our Thanksgiving weekend here in Canada. In addition to spending time with the family, I had some time to kill. A natural set of coincidences occurred leading to a weekend of frustrations, with some success.

Whoa, before you jump to conclusions, the frustrations had nothing to do with the family. My daughter visited and kids all got to spend some time together. My wife did her usual fabulous job in the kitchen (which she insists on, with me banished from the kitchen…). It was a good day with the family, and surprisingly no drama. …


Shawn Grover

Technology enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store