RSSAmplifier

Blog

George Zhang

georgexyz.comRSS feed ↗94 posts

Latest posts

AI Makes Mistakes

On my daily work, I use AI more and more. Often, I keep a ChatGPT or Gemini browser window open while working, asking all kinds of questions. Still, sometimes AI …

Some Tools and Tips

I recently discovered some new Windows tools that I’d like to share. The first one is AutoHotkey v2 , a powerful automation tool for Windows. With AutoHotkey, you can write …

Outlook VBA and Python Program

I am trying to automate some of my Outlook tasks and have found something interesting. Some of the emails I receive from a system include a line with latitude and …

An Interesting WIFI Card Problem

I bought a new HP ZBook Firefly G10A last year with a Ryzen 7840HS CPU and 32GB RAM . It’s supposed to be much faster than my old laptop, an …

ChatGPT Limitation

I was asking some questions on the ChatGPT Android app two days ago (5/14/2025) and received some interesting answers. The iPhone 16 series was released in September 2024 …

ChatGPT Solves Programming Problem

When I come across a well-written Python article online, I often print a copy and store it in a three-ring binder. Here is the link to an article I printed …

How to Use VBA to Generate Draft Emails in Outlook

Every Friday, I need to send two emails to other teams at work. Although the emails are straightforward, drafting them each week is time-consuming and prone to errors. Below are …

Develop With WSL

I recently bought a new Windows 11 laptop and chose not to install Ubuntu. Instead, I’m using Windows Subsystem for Linux ( WSL2 ) to update this blog site. WSL is …

AI Is Exciting

It’s been over a year since I last updated this website. Recently, I ve been using ChatGPT more and more, so it would be a good time to update …

2023 Status Update

I haven’t updated this website for a while. I discovered something interesting today I would like to share on this site. My favorite mouse is Logitech wireless mouse model …

Simple Pelican Project Structure

Pelican project structure can be complicated for a beginner. A simple project structure makes it easy to create simple websites. Once you understand the sub directories in the output dir …

Sketch-Up Notes

SketchUp is a 3D drawing tool. I am a big fan of the 2D open source software Inkscape. But sometimes I use the free version of SketchUp Make 2017 to …

Json Module

The JSON module is often used to transmit data between web servers and applications. It is time to take a close look at this module after discussing several difficult modules …

Wsgiref Module

I have written two posts regarding wsgi interface before, but I still have questions. This post discusses the wsgiref module in the Python standard library. To quote the python standard …

Python IO Module

The previous three modules logging, unittest, and http all import a low level module io and use classes in the io module. So I decide to take a close look …

Http Module

Python http module is a package that collects several modules for working with the HyperText Transfer Protocol . The module is a middle level module that sits between low level socket …

Unittest Module

Unit test is one of the Python techniques I want to learn for quite some time. This post records some articles I read and some notes I wrote in the …

Python Logging Module

This is the first post of 2022. I haven t updated the blog site for a while. This is new year and new start, and I wish to spend more …

A New Website

I didn t add new post to this website for sometime. The reason is that I am busy working on a new website. www.inkscapetutorial.org The website contains some …

Some HTML/CSS Notes

HTML / CSS Editor Layout I am reviewing the HTML & CSS Is Hard website, which is an awesome resouce for studying HTML and CSS . It is easy to work through the …

Run MySql In A Docker Container With Flask

Miguel Grinberg s Flask Web Development book Chapter 5 shows how to run Flask with SqlAlchemy and a SQLite database. Because SQLite is included in Python, the settings are simple …

Good Design And Bad Design

Apple had an event three days ago announcing several new products. One announcement catches my attention. They are replacing old style Apple TV remote. It gets my attention because I …

Reading List

This post records books I read. I am trying to find time to read at least one book a month so I can read 12 books in a year. Technical …

Remove Dash Conversion Of Smartypants Python Package

When I am working on the last post Git Command Reference , git commands often include an option such as git config --help . Bash commands often have two dashes -- before options …

Git Command Reference

This note is from Corey Schafer s Youtube Git Tutorial . A viewer posted the note under the video and I copied it as a starting point for this post. I …

Flask User Authentication Steps

The user authentication process described in Chapter 8 of Miguel Grinberg s book is quite complicated. The flask-login plugin makes it a little simpler. Here are the steps it takes …

Python Import Statement

Python import statement seems very easy to use, but it can get complicated once the project scale becomes larger. It is one of those things that is easy to learn …

Python Code To Check If A Product Is In Stock

I am reading Chapter 13 of Al Sweigart s Automate The Boring Stuff With Python 2nd ed book for some spreadsheet work. The Chapter 12 Web Scraping is also very …

New Linux Mint/Ubuntu System Install and Setup

I have been using Linux Mint since June 2019. Most times I am happy with it. It seems that version 19.x is more stable than 20.x at this …

Road Segment Crash Rate Calculator

I am reading Part Two, Chapter 4.3 of javascript.info tutorial. It has an exercise to write a js deposit calculator. I often use a spreadsheet file to calculate …

A Javascript Count Down Timer App

I am reading the Eloquent Javascript book and javascript.info website for the past few weeks. My goal is to write a javascript timer app for myself. On this last …

Timer App

Sometimes I like to time myself to finish a task in a certain amount of time like 15 minutes. I can concentrate on the task more when I work under …

Flask Flashing Messages

Flask includes message flashing functionality as a core feature. The Flask documentation has two sentences which summarize the functionality well. The flashing system basically makes it possible to record a …

Flask Extension System

Flask is a micro web framework, and many functionalities are provided by various extensions. The Flask documentation only has two pages on extensions, one is on how to use extensions …

URL Mapping in Flask

URL Mapping (or URL Routing) is not a big topic in Flask. The Flask documentation has a very short section on URL Route Registrations . Miguel Grinberg s Flask Web Development …

Flask Application Context

The push method of RequestContext class has those two lines of code (Lines 373 and 374 of ctx.py module in Flask 1.1.2) listed below. It pushes the …

Understand WSGI Interface and Request Context in Flask

The Flask class is defined in the app.py module. The class has a __call__ method defined on Line 2460 (Flask version 1.1.2). If you have an object …

What Is Behind Flask Run Command

Chapter 2 of Miguel Grinberg s Flask Web Development describes how to run a basic Flask app. Suppose you have a basic Flask app like below (from the book). from …

Flask Application And Request Contexts

Application and request contexts are difficult concepts in Flask. They are easy for programmers to use, but they are not easy to understand. The implementation of those concepts is complicated …

Two Git Books

This post is about two Git books I recently read. Git is a complicated tool which is not easy to figure out simply by Google searching. I start with the …

Home File Sharing

When reconfiguring my home WIFI router this week, I have a thought to setup a home file sharing network drive. I try the Raspberry Pi approach first, and upgrade to …

A Case of Linux Mint Crash

Last night my main computer with Linux Mint 20 crashed and I was really worried that I might lose the files I had been working on. After many google searches …

Web Development Notes

I am going to assemble some notes for web development in this post. It is mainly for myself and I will keep updating this post. Force Firefox to Refresh There …

Change Boot Order with GRUB 2

My laptop has both Windows 10 and Linux Mint installed. Sometimes I want the laptop booting into Windows by default. After a little online research, I find that I need …

Mutate While Looping in Python

Raymond Hettinger once said if you mutate something while you re iterating over it, you re living in a state of sin and deserve whatever happens to you . Recent version …

Adding .vimrc Dotfile to Github

Youtube has a nice video Learning Vim In A Week , and I watch it every few months to refresh my Vim skills. In the video the presenter suggests people to …

Copy SSH Keys to A New Computer

I followed Miguel Grinberg s tutorial setting up an SSH key on my desktop using ssh-keygen . I thought I could simply copy the private key id_rsa and public key id_rsa …

Code Highlighting in Pelican

It is easy getting confused about code highlighting when reading Pelican documentation. It mentions keywords like CodeHilite and Pygments without much explanation. When I am reviewing my Pelican notes, I …

Fujitsu Scanner Fi-7160 Software

A few years ago I purchased a Fujitsu fi-7160 document scanner for home use. Occasionally I use it to scan a few pages at home and I only use very …

GIMP Tips

GIMP is a free and open source image manipulation software. I only use a small subset of functions of the software. Here are some tips I keep a record for …