DEV Community

Yuan Gao profile picture

Yuan Gao

CTO in tech 👨‍💻 Python, Vue.js, Former Electrical Engineer 🤖 Occasional robot robot builder and gamedev 🏆 Forbes 30 Under 30 Enterprise tech

Location London Joined Joined on  twitter website
Advent of Code 2021: Day 07 with Python, cheating by using scipy

Advent of Code 2021: Day 07 with Python, cheating by using scipy

6
Comments
1 min read

Want to connect with Yuan Gao?

Create an account to connect with Yuan Gao. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Advent of Code 2021: Day 06 with Python, and numpy.roll()

Advent of Code 2021: Day 06 with Python, and numpy.roll()

4
Comments
2 min read
Advent of Code 2021: Day 05 with Python, even more numpy

Advent of Code 2021: Day 05 with Python, even more numpy

4
Comments 2
2 min read
Advent of Code 2021: Day 04 with Python, and numpy masked arrays

Advent of Code 2021: Day 04 with Python, and numpy masked arrays

4
Comments
5 min read
Advent of Code 2021: Day 03 with Python, and more numpy

Advent of Code 2021: Day 03 with Python, and more numpy

5
Comments 1
4 min read
Advent of Code 2021: Day 02 with Python, numpy, and affine transformation matrices

Advent of Code 2021: Day 02 with Python, numpy, and affine transformation matrices

2
Comments 2
3 min read
Advent of Code 2021: Day 01 with Python and numpy's convolution function

Advent of Code 2021: Day 01 with Python and numpy's convolution function

4
Comments
2 min read
Collecting and processing user-submitted images with Airtable and Firebase

Collecting and processing user-submitted images with Airtable and Firebase

4
Comments
9 min read
How to set up custom Github webhook notifications on Discord (via Firebase)

How to set up custom Github webhook notifications on Discord (via Firebase)

1
Comments
7 min read
PEG Parsers: sometimes more appropriate than Regex

PEG Parsers: sometimes more appropriate than Regex

9
Comments 1
8 min read
LGTM Devlog 39: Planning the story

LGTM Devlog 39: Planning the story

1
Comments
1 min read
LGTM Devlog 38: Sprint 5 Plan

LGTM Devlog 38: Sprint 5 Plan

1
Comments
4 min read
LGTM Devlog 37: Sprint 4 Retrospective

LGTM Devlog 37: Sprint 4 Retrospective

Comments
1 min read
LGTM Devlog 36: Character profiles! On GitHub

LGTM Devlog 36: Character profiles! On GitHub

Comments
4 min read
LGTM Devlog 35: Responding to the player's answers on GitHub Issues Comments

LGTM Devlog 35: Responding to the player's answers on GitHub Issues Comments

1
Comments
5 min read
LGTM Devlog 34: Characters Posting on GitHub Issues

LGTM Devlog 34: Characters Posting on GitHub Issues

Comments
3 min read
LGTM Devlog 33: Using PyGithub to post GitHub issues and comments

LGTM Devlog 33: Using PyGithub to post GitHub issues and comments

1
Comments
4 min read
LGTM Devlog 32: Secrets Management to avoid storing API keys in services

LGTM Devlog 32: Secrets Management to avoid storing API keys in services

4
Comments
3 min read
LGTM Devlog 31: Sprint 4 Plan

LGTM Devlog 31: Sprint 4 Plan

1
Comments
1 min read
LGTM Devlog 30: Sprint 3 Retrospective

LGTM Devlog 30: Sprint 3 Retrospective

Comments
1 min read
LGTM Devlog 29: ORM for Firestore and __init__subclass__ dunders and metaclasses

LGTM Devlog 29: ORM for Firestore and __init__subclass__ dunders and metaclasses

7
Comments
5 min read
LGTM Devlog 28: Game event loop using Google Cloud Scheduler and PubSub

LGTM Devlog 28: Game event loop using Google Cloud Scheduler and PubSub

1
Comments
2 min read
LGTM Devlog 27: Branching quests

LGTM Devlog 27: Branching quests

1
Comments
4 min read
LGTM Devlog 26: Python Graphlib DAGs for Quest Stages

LGTM Devlog 26: Python Graphlib DAGs for Quest Stages

2
Comments
5 min read
Explaining FastAPI and Typer Dependency Injection, and rolling your own in Python

Explaining FastAPI and Typer Dependency Injection, and rolling your own in Python

16
Comments
8 min read
LGTM Devlog 25: Some cleanup

LGTM Devlog 25: Some cleanup

Comments
5 min read
LGTM Devlog 24: Sprint 3 plans

LGTM Devlog 24: Sprint 3 plans

Comments
3 min read
LGTM Devlog 23: Sprint 2 Retrospective

LGTM Devlog 23: Sprint 2 Retrospective

3
Comments
1 min read
LGTM Devlog 22: Modularization

LGTM Devlog 22: Modularization

1
Comments
9 min read
LGTM Devlog 21: Deploying Pub/Sub-triggered Python Google Cloud Functions

LGTM Devlog 21: Deploying Pub/Sub-triggered Python Google Cloud Functions

2
Comments
4 min read
LGTM Devlog 20: Python Abstract Base Class-based data/quest storage

LGTM Devlog 20: Python Abstract Base Class-based data/quest storage

2
Comments
4 min read
LGTM Devlog 19: Game data/quest storage

LGTM Devlog 19: Game data/quest storage

4
Comments
3 min read
An AI Twitter bot that only tweets good news, with Python and GPT2

An AI Twitter bot that only tweets good news, with Python and GPT2

11
Comments
9 min read
LGTM Devlog 18: Python Serverless functions using GitHub API to validate users

LGTM Devlog 18: Python Serverless functions using GitHub API to validate users

Comments
5 min read
LGTM Devlog 17: Website and GitHub OAuth

LGTM Devlog 17: Website and GitHub OAuth

Comments
4 min read
LGTM Devlog 16: A serverless data base access rule conundrum

LGTM Devlog 16: A serverless data base access rule conundrum

Comments
4 min read
LGTM Devlog 15: Sprint 2 plans

LGTM Devlog 15: Sprint 2 plans

2
Comments
1 min read
CurateBot Devlog 11: New UI Theme and logo, and releasing the app!

CurateBot Devlog 11: New UI Theme and logo, and releasing the app!

9
Comments
5 min read
CurateBot Devlog 10: Scheduled Firebase function to send tweets

CurateBot Devlog 10: Scheduled Firebase function to send tweets

Comments
3 min read
CurateBot Devlog 9: Drawing an day-of-week/hour scheduler using v-for loops in Vue

CurateBot Devlog 9: Drawing an day-of-week/hour scheduler using v-for loops in Vue

1
Comments
3 min read
CurateBot Devlog 8: Listing Queued Tweets using Firebase compound queries adn custom indexes

CurateBot Devlog 8: Listing Queued Tweets using Firebase compound queries adn custom indexes

1
Comments
4 min read
CurateBot Devlog 7: Curating Tweets

CurateBot Devlog 7: Curating Tweets

Comments
3 min read
CurateBot Devlog 6: Form validation for uploading Tweets in JSON format

CurateBot Devlog 6: Form validation for uploading Tweets in JSON format

Comments
4 min read
CurateBot Devlog 5: Adding Firebase Auth Logout and Vuetify Snackbars

CurateBot Devlog 5: Adding Firebase Auth Logout and Vuetify Snackbars

1
Comments
4 min read
CurateBot Devlog 4: Adding Firestore profile storage and autologin

CurateBot Devlog 4: Adding Firestore profile storage and autologin

Comments
4 min read
CurateBot Devlog 3: Second steps - adding Firebase and Twitter OAuth

CurateBot Devlog 3: Second steps - adding Firebase and Twitter OAuth

1
Comments
2 min read
CurateBot Devlog 2: First steps - cleaning up the boilerplate

CurateBot Devlog 2: First steps - cleaning up the boilerplate

1
Comments
5 min read
CurateBot Devlog 1: Vue+Vuex+Vuetify+Firebase boilerplate

CurateBot Devlog 1: Vue+Vuex+Vuetify+Firebase boilerplate

7
Comments
6 min read
CurateBot Devlog 0: Simple interface for curating and scheduling AI-generated tweets

CurateBot Devlog 0: Simple interface for curating and scheduling AI-generated tweets

2
Comments
2 min read
LGTM Devlog 14: Sprint 1 Retrospective

LGTM Devlog 14: Sprint 1 Retrospective

4
Comments
1 min read
LGTM Devlog 13: GitHub Branch Protection and Security

LGTM Devlog 13: GitHub Branch Protection and Security

2
Comments
2 min read
LGTM Devlog 12: CI/CD with GitHub Actions to run Unit Tests and deploy Firebase Functions

LGTM Devlog 12: CI/CD with GitHub Actions to run Unit Tests and deploy Firebase Functions

2
Comments
5 min read
LGTM Devlog 11: Writing the Serverless Function for receiving GitHub webhooks with Pydantic validation

LGTM Devlog 11: Writing the Serverless Function for receiving GitHub webhooks with Pydantic validation

5
Comments
6 min read
What makes a "senior" developer? - Empowerment is the antidote to imposter syndrome

What makes a "senior" developer? - Empowerment is the antidote to imposter syndrome

10
Comments
5 min read
LGTM Devlog 10: Capturing the GitHub webhook for fork requests

LGTM Devlog 10: Capturing the GitHub webhook for fork requests

6
Comments
3 min read
LGTM Devlog 9: Python Google Cloud Functions with Unit Tests and Linting

LGTM Devlog 9: Python Google Cloud Functions with Unit Tests and Linting

7
Comments
8 min read
Average developer salaries in London/UK for different languages 2019-2020

Average developer salaries in London/UK for different languages 2019-2020

3
Comments
4 min read
LGTM Devlog 8: Starting a git repo for an open source project from scratch

LGTM Devlog 8: Starting a git repo for an open source project from scratch

2
Comments
4 min read
LGTM Devlog 7: Creating a Firebase project

LGTM Devlog 7: Creating a Firebase project

3
Comments
2 min read
LGTM Devlog 6: Sprint 1 plans

LGTM Devlog 6: Sprint 1 plans

Comments
2 min read
loading...