Come and code with me!

2024-08-09
Monitoring Windows usage in Python: A Step-by-Step Guide

Monitoring what happens on your computer can be incredibly useful, whether you’re trying to track your productivity, analyze how you spend your time, or even ensure that certain applications are being used efficiently. Python makes this task approachable and powerful by allowing you to interact directly with the Windows operating system. Let’s dive into the concepts and build a monitoring tool from scratch, step by step, using the interactive Python terminal.

Step 1: Getting the Active Window Title

The first thing we want to do is identify the active window—that is, the window currently in focus on your screen. We’ll use the pywin32 library, which provides a direct interface with Windows APIs. Start by installing the necessary package:

Read More

2024-04-25
'ControlMaster auto' for reusing SSH connections

Just add these two lines to your ~/.ssh/config and you’re good to go!

Read More

2023-03-03
Passwordless SSH between systems that share a /home

Just thought I’d share this nugget of knowledge with you all. If you work on linux systems that share a /home directory, that may be NFS-mounted across several other systems, then you can take advantage of this so you don’t have to enter your password every time you ssh between the linux systems.

Read More

2022-07-12
Creating a CLI with Shell Scripting

When tasked to automate anything within Linux, you might find that Shell is the easiest tool to get the job done fast. Most of the time these shell scripts are built for a specific purpose and don’t have any need for configuration in different usage scenarios. However, it is possible to build a fully fleshed Command Line Interface (CLI) using a shell script, which I will outline for you the steps on how to do this.

Read More

2021-05-15
Learn coding on FreeCodeCamp without internet access

Not all of us have the privilege of having access to the internet at all times of the day. Imagine someone who travels to another city to attend a coding bootcamp, where they learn code with the help of freecodecamp.org, but when they go home, they can’t continue to learn on their own because they don’t have access to the internet at their home. Imagine also another person who struggles to learn to code on their own during the 4 hours every day when the internet happens to be working. This is the reality for many who aspire to learn how to code.

In this guide, I will show you how to run freecodecamp.org offline, so you can complete coding certifications completely without internet access.

FreeCodeCamp offline

Read More

2021-05-12
You can now follow my blog on Follow.it!

For more than a year this blog used a Google Form for managing subscriptions, and relied on me to manually copy all the emails and write a newsletter to keep you all updated.

There has been an upgrade…

Read More

2021-05-10
Intro to Github Pages: Create a simple and free personal website

The world of web development can be insanely complex and overwhelming, however building a simple website doesn’t have to be difficult. Many people’s needs can be fulfilled simply by taking 30 minutes to set up a website on Github pages completely for free.

Read More

2020-05-20
Quickstart to Plaid Financial API using Django

I am not endorsed in any way by Plaid to share this info, just helping others get a head start on using Plaid with Django.

Plaid is a plaform-as-a-service API which you can use to build your own financial apps. It has features such as easily linking to existing bank accounts, and also auto-categorization of transactions. Plaid’s API brings all the data from different financial sources into one place and one format so you can build apps with a holistic view of a user’s finances.

Ok. Now all praise of Plaid aside, I’m sure you are here because you want to build a Django app that uses Plaid to obtain users’ financial data. In all of Plaid’s tutorials shown in their quickstart github page, they have a tutorial for Python, but it’s using Flask for the backend rather than Django.

I’ve taken the time to translate their tutorial from Flask to Django. The main difference was Django’s requirement of having CSRF protection.

Read More

2019-08-28
Easily plot graphs in your website using Plotly + Python

For the last few days I have been scratching my head. How do you plot all the data in your django website, without having to figure out D3 or any other complicated graphing libraries?

I've looked at several solutions, including Djangos Graphos, Chartit, NVD3… Everyone online seems to be recommending to use charting libraries off of this list: https://djangopackages.org/grids/g/charts/

It's frustrating to try many solutions to find out that they are all too complicated to understand, and the copy+paste approach doesn't work most of the time.

However, one good thing came out of this process. I discovered that Plotly is now open-source! Years ago I once played around with Plotly's graphing library, marveling at it's ease of use and admiring it's beauty, however to use it in the past we had to make our plots public for all to see and store them on Plotly's servers. This limited how I could use Plotly in my projects, but that limit isn't on Plotly anymore. Now we can use Plotly just like any other library in Python, Javascript, and other programming languages.

Today I will show you how absolutely easy it is to plot graphs in Django using Plotly's Python API. We are going to make a simple interactive plot that looks like this:

Plotly plot

Read More

2019-08-18
Super Easy Python CLI with Click

Many people who use python are used to the scriptfile workflow, where you write a rigid script in python and run it, somewhat similar to how people use bash scripts.

  1. You find an answer in a blog somewhere that describes how to do something in python
  2. You draft up a python script for the task and get it to work
  3. You hard-code all the parameters the script needs

Don't get me wrong – drafting up python scripts to prototype your idea is really useful. You get your idea working fast, even if your code becomes messy and unmaintainable.

However, wouldn't you like your python script to be as elegant and usable as all the command-line utilities you're used to?

Read More