How to Fix Logitech Mouse Scrolling in macOS

Based on article by Henry T. Casey 

In this support article on Logitech's site, I found out that "Accessibility access is needed for scrolling, gesture button, back/forward, zoom and several other features," which explained my mouse couldn't activate Mission Control with the thumb button I mapped to Gesture.

1. Click the Apple logo.

2. Select System Preferences.

3. Click Security & Privacy.

4. Click Privacy.

3D Lithophanes on a 3D Printer

If you haven't figured this out already, Lithophanes are one of coolest things you can print with your 3D Printer. However, getting the proper settings can be confusing and very frustrating.

Turn your pictures into 3D stl files of lamp lithophanesflat lithophanesnight light lithophanes, and more by using these lithophane makers.

Tool to convert Images for 3D printing at lithophanes: 3dp rocks

Lithophane Print Settings

A good starting point with your print settings.

Maximum Thickness: 3mm
Minimum Thinness: .6mm or .2 plus your nozzle size
​Negative: If you have the option print with a negative setting

Slicer Settings:

​Infill: 100%
Perimeters: 10
Perimeter Speeds: 35mm/s - 45mm/s
Print Along the Y direction

VSCode with Github

First let's review basics from the command line

$ cd repos
$ mkdir corp-sheets
$ cd corp-sheets

Find the Github repository URL

Github repo url

$ git clone**********sheets.git


Wyze Robot Vacuum Review and Tips

I bought the Wyze Robot Vacuum as part of a kick starter for $199 that came with a free Wyze web cam version 3.

It was delivered yesterday and I have been having some fun and frustrations with it so I thought I would share.

The cool thing about this vacuum is the LIDAR sensor, a spinning laser on top of the vacuum. Every second, it spins around 6 times and measures the distance to 2,016 different points in the room to build a map. You can see, edit, and save the map in the Wyze app.  

Common HTTP Status Codes

This post provides a list of commonly used HTTP status codes or response codes as part of the communication between a client and a web server. It also provides the description and usage of these status codes. The web server replies to the client request by sending the appropriate response code based on the request and response generated by the server.

Class 1xx - Informational

The class 1xx status codes are to acknowledge that the request has been received, understood by the server, and to continue for further processing the request.


100 - Continue

The server has received the request headers and the client can continue further sending the request body where required.


101 - Switching Protocols

The client has asked the server to switch the protocol and the server agreed to do so using the Upgrade header message field. The server will switch protocols and specify the same in response's Upgrade header field.


102 - Processing

The server is taking the time to process the request and updates the client to wait until the server process the request without timing out the request.


Class 2xx - Success

The class 2xx status codes are to acknowledge that the request was received, understood, and accepted by the server.

OAuth token generation using Snowflake custom OAuth

Based on support article from Snowflake


The objective of the article is to provide a means of generating an access token and refresh token using Snowflake Custom OAuth. Once complete, end-users should be able automate the flow to get the new access tokens via refresh token(until expiry).

For testing purposes, this article will also show a successful connection using access token when making a connection through SnowSQL.

5 Morning Habits Of Highly Successful People

by Caroline Castrillon, Forbes

Many of us start the day with a ringing alarm clock, a big cup of coffee and a quick check of our email. But if you analyze the morning habits of very successful people, that's exactly what they don't do. As Arianna Huffington says, "A big part of my morning ritual is about what I don't do: when I wake up, I don't start the day by looking at my smartphone. Instead, once I'm awake, I take a minute to breathe deeply, be grateful, and set my intention for the day."

These five morning habits of highly successful people will help you kick-start your day so you can achieve greater focus, clarity and productivity.

Summary - Personal Disruption Framework

Disrupt Yourself by Whitney JohnsonGadge

From the Magazine (July–August 2012) Buy Copies

Summary.   Disruptive innovation has been a pioneering concept in business since 1995. Johnson, a founding partner at Clay Christensen’s investment firm, explains how you can apply disruptive thinking

My career path has been an unusual one. I started as a secretary on Wall Street, worked my way up in my firm’s investment banking group, and then stepped back to become an equity research analyst. Eight years later, I quit that job to produce a TV show and write a children’s book, but I ended up blogging about work/life issues and cofounding a hedge fund backed by a man I’d met at church. It’s not what you’d call a traditional corporate trajectory. But perhaps that’s the new normal.

Using python to connect to Snowflake

Based on this documentation.

This topic provides instructions for installing the Snowflake Connector for Python. The connector can currently be installed in Linux, macOS, and Windows environments.

Install the connector:

$ pip3 install --upgrade snowflake-connector-python

Create a file (e.g. containing the following Python sample code, which connects to Snowflake and displays the Snowflake version:

#!/usr/bin/env python
import snowflake.connector

# Gets the version
ctx = snowflake.connector.connect(
cs = ctx.cursor()
    cs.execute("SELECT current_version()")
    one_row = cs.fetchone()

Make sure to replace <your_user_name><your_password>, and <your_account_name> with the appropriate values for your Snowflake account.

Airflow Docker Container - How to get started guide

Deploying Airflow with Docker and Running your First DAG

Based on content from: Getting Started with Airflow Using Docker, Mark Nagelberg

This rest of this post focuses on deploying Airflow with docker and it assumes you are somewhat familiar with Docker or you have read my previous article on getting started with Docker.

As a first step, you obviously need to have Docker installed and have a Docker Hub account. Once you do that, go to Docker Hub and search “Airflow” in the list of repositories, which produces a bunch of results. We’ll be using the second one: puckel/docker-airflow which has over 10 million pulls and almost 100 stars. You can find the documentation for this repo here. You can find the github repo associated with this container here.