DEV Community

loading...
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
LGTM Devlog 39: Planning the story

LGTM Devlog 39: Planning the story

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

LGTM Devlog 38: Sprint 5 Plan

Reactions 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

Reactions 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

Reactions 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

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

LGTM Devlog 31: Sprint 4 Plan

Reactions 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

Reactions 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

Reactions 1 Comments
2 min read
LGTM Devlog 27: Branching quests

LGTM Devlog 27: Branching quests

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

LGTM Devlog 26: Python Graphlib DAGs for Quest Stages

Reactions 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

Reactions 8 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

Reactions 3 Comments
1 min read
LGTM Devlog 22: Modularization

LGTM Devlog 22: Modularization

Reactions 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

Reactions 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

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

LGTM Devlog 19: Game data/quest storage

Reactions 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

Reactions 6 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

Reactions 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!

Reactions 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

Reactions 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

Reactions 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

Reactions 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

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

CurateBot Devlog 2: First steps - cleaning up the boilerplate

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

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

Reactions 4 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

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

LGTM Devlog 14: Sprint 1 Retrospective

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

LGTM Devlog 13: GitHub Branch Protection and Security

Reactions 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

Reactions 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

Reactions 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

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

LGTM Devlog 10: Capturing the GitHub webhook for fork requests

Reactions 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

Reactions 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

Reactions 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

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

LGTM Devlog 7: Creating a Firebase project

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

LGTM Devlog 6: Sprint 1 plans

Comments
2 min read
LGTM Devlog 5: Technical Decisions - Serverless Architecture

LGTM Devlog 5: Technical Decisions - Serverless Architecture

Reactions 8 Comments
3 min read
LGTM Devlog 4: Technical Decisions - GitHub API and Python

LGTM Devlog 4: Technical Decisions - GitHub API and Python

Reactions 1 Comments
5 min read
LGTM Devlog 3: Design Ideas for the game 2

LGTM Devlog 3: Design Ideas for the game 2

Reactions 4 Comments
4 min read
LGTM Devlog 2: Design Ideas for the game I

LGTM Devlog 2: Design Ideas for the game I

Reactions 1 Comments
5 min read
LGTM Devlog 1: New Logo, and jumping the gun by buying a domain

LGTM Devlog 1: New Logo, and jumping the gun by buying a domain

Reactions 2 Comments
2 min read
LGTM Devlog 0: Teaching Git through playing a game

LGTM Devlog 0: Teaching Git through playing a game

Reactions 24 Comments 4
2 min read
Advent of Code 2020: Day 25 with Generators in Python

Advent of Code 2020: Day 25 with Generators in Python

Reactions 10 Comments
4 min read
Advent of Code 2020: Day 24 with complex numbers in Python and TensorFlow

Advent of Code 2020: Day 24 with complex numbers in Python and TensorFlow

Reactions 6 Comments
7 min read
Which language is easier for a beginner: JavaScript or Python? The short answer

Which language is easier for a beginner: JavaScript or Python? The short answer

Reactions 6 Comments 1
2 min read
Advent of Code 2020: Day 23 with linked lists in Python

Advent of Code 2020: Day 23 with linked lists in Python

Reactions 7 Comments
6 min read
loading...