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. …

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. …

You need some other skills too

Image for post
Image for post
Photo by Arian Darvishi on Unsplash

I did it. I have learned enough about programming and technology to be considered an expert in some circles. Awesome! But as I look out from what I thought was “the” summit, I see other peaks around me that are just as important to my career. Let’s explore some of the other topics we developers should also work on.

Programming skills are not enough on their own.

Soft Skills

It is well known that “soft skills” are important for an employee. Soft skills are defined as people skills, social skills, communication skills, etc.

Human Resources has been trained to look for these skills in potential candidates. As a result most software development courses also include training in communications. …

Reflections on 20+ years.

Image for post
Image for post
Photo by matthew Feeney on Unsplash

I’m going to show my age here, but I wrote my first line of code on a Commodore Pet Computer back in 1980(-ish). I have taken a few courses, and even went to post secondary school to learn more about programming and computer technology. In reality though, almost everything I know about programming has come from the school of hard knocks — I’ve had to teach myself.

I was hired as a professional developer for the first time in 1999 and I’ve been doing it ever since. …

A working solution

Image for post
Image for post
Photo by National Cancer Institute on Unsplash

We have begun building a system that will automatically do our administrative filing for us. We are doing this with Node.JS. See Part 1 and Part 2 for details where we began proving we could overcome the obvious challenges.

It is time to tie everything together. Instead of rehashing all the decisions that are needed to build out our system, I have created a repository with code that implements those decisions. We will do a brief review of the code below. Each file is documented though, or relatively straight forward. …


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