My name is Jason Hu. I am a web developer and a software engineer based in Canada.
Chatty with ChatGPT: Deploying your own AI-Powered Telegram Bot in 30 minutes
ChatGPT is currently trending. New AI products are emerging daily, much like new JavaScript frameworks. At this point, not utilizing the GTP API to create something almost gives me FOMO. I wanted to create something quick that I would personally use. I stumbled upon this project - a Telegram bot for ChatGPT - that can be hosted on Cloudflare Web Worker for free. The project description mentions it as the “easiest and fastest” way to deploy your own Telegram bot....
Trying to avoid movie spoilers makes me watch less YouTube
I’m a big Marvel movie fan. When a new Marvel movie comes out, especially the ones I highly anticipate, I try to avoid movie spoilers as much as possible. Spider-Man: No Way Home came out a week ago and I’m have not watched it. This means for the past week, I have been actively trying to avoid any spoilers for this movie. YouTube is a wild world for spoilers: eye catching thumbnails, titles and movie theory videos etc....
This site is now built with Hugo
I have migrated this site from WordPress to Hugo. I love the simplicify of setting up a WordPress site and the low maintenance it requires. But, I like tinkering with the latest and greatest technologies. Why abandoning WordPress? For my simple blogging needs, I don’t want to worry about updates and security patches For a $5/month DigitalOcean server, it runs decently fast. However, I think I can do better Why Hugo?...
How to use iPhone as Zoom meeting webcam
Software You will need the following software: Camera for OBS Studio is the iOS app that you need to purchase ($15.99 USD) and install on your iPhone. This is a one-time purchase and is the only paid software that will be used in this guide. OBS Studio is the desktop software that you will need to install on your Windows, Mac or Linux. It’s free and open source. 2 plugins that need to be downloaded and installed after OBS Studio: iOS Camera Plugin for OBS Studio and obs-mac-virtualcam....
Doxie Go SE impression
I recently purchased a Doxie document scanner. This is a major step for me going paperless. This particular model I bought is Doxie Go SE (without Wi-Fi connectivity). The good: The device is very compact. Can scan without attaching to a computer and powersource. I literally started my first scan within 2 minutes unboxing this thing. Scans fast. Consistent speed per page. Approximately 10 seconds for a legal size page....
Now on CloudFlare
Set up a dev environment for WordPress using Docker
Local folder structure ls my-wordpress-blog wp-content (Your themes, presumably copied from your existing live WordPress site) Dockerfile docker-compose.yml docker-compose.yml version: '2' services: web: container_name: wp_web build: ./ links: - mysql environment: - WORDPRESS_DB_PASSWORD=password ports: - "3000:80" working_dir: /var/www/html volumes: - ./wp-content/:/var/www/html/wp-content mysql: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=wordpress Dockerfile FROM wordpress:4.7.3-apache COPY wp-content/ /var/www/html/wp-content VOLUME ["/var/www/html"] Run it! Run the commanddocker-compose up -d Access your site at localhost:3000
Blog Migration
This blog has migrated from Farbox to WordPress. By migration, I mean copy blog text and images and paste into WordPress blogs. There were a few blogging platform choices I considerd: Kirby, Jekyll and WordPress. The former 2 are static file based tools. Static files usually mean better performance and future proof. I choose WordPress because it’s easier to setup and has better content management features. The platform won’t go any where in 10 years....
Set up webpack hot reload to work with another website backend
The goal is to serve app.js from a different port than the website port and have the hot reload module (HRM) work. During development, I usually have a website with a web frameowork at localhost:8080 and have webpack do it’s magic npm run dev serving app.js at localhost:3000/app.js. My index.html includes localhost:3000/app.js inside a script tag. However the hot reload feature does not work and produces error: EventSource's response has a MIME type ("text/html") that is not "text/event-stream"....
Setup a website with frontend and admin area using Docker
Each frontend and admin are will have their own container web and admin. We want the following Web frontend will be accessed ad example.com Admin area will be accessed at example.com:7000 Configure the containers in docker-compose.yml Dockerfile.web for web frontend #OtherserverconfigurationsforwebfrontendCOPYapache2.web.conf/etc/apache2/apache2.conf…Dockerfile.admin for admin area #OtherserverconfigurationsforadminareaCOPYapache2.admin.conf/etc/apache2/apache2.conf…Spin up containers Run docker-compose up -d