To my dearest Mom and Grandma who teach me how to love this world with ❤️
I'd like to take this moment to thank Yahoo!, my former employeer, who taught me to love Software Engineering and how to write the best-quality software. 4 years of being her employee nourished my life philosophy that the end of Software Development in itself is not about money, but people, passion, and love. Thank you Yahoo!
This page is also dedicated to my mentor Rick Jensen, my life-long teacher on Software Engineering. Having been the best tech leader I've seen, he treats software design, programming, and code review as a work of art and loves Software Engineering by ❤️, which is why I will follow his philosophy and, with tremendous sincerity, respect him as my role model in tech world
I have a Bachelor's Degree of Engineering Physics (on Computational Quantum Mechanics) and a Master's Degree of Computer Science (on Big Data and Cloud Computing) both from University of Illinois at Urbana-Champaign. Since then, my career has been focusing on B2C Knowledge Graph applications, because it is a career that converges all of my consuming interests: Big Data Analytics, Natural Language Processing (NLP), and the curiosity of exploring complex systems
What I learned from 4 years of College Physics is an idea that the answer to questions around all complex systems always come down in the most straightforward and self-evident form. For example, Why can't we go back in time and change world history even with a time machine? Because we can't make 2 secods shorter than 1 second, which breaks the basic Physical principle of Simultaneity
What I found the most complicated system is human. Uncovering the simpliest and the most truthful nature deep in the mind of every complicated soul and heart is my strongest drive to explore this world of invisible subconciousness that can be most effectively revealed by the Data of Our Langauge - NLP technologies
I'm interested in 4 topics of tech world:
- NLP Machine Learning
- Immutable Infrastructure DevOps
- React-based Frontend Dev with little more focus on the UI design
- No-Spring Webservice Dev
Inspired by large enterpeise hosting their own private mirrors of public Maven Central, I forked documentation source codes of all technoloteis I'm interested in and publish them to GitHub Pages, which result in the following curated list. By these forks under my account, I'm writing my tech blog with thousands of helping hands around the world. In addition, I could also add my own study notes on top of their documentations:
-
ASR: CMU Sphinx
-
Reinforcement Learning: OpenAI RL
-
Hugging Face: Tokenizers Node/Python API
-
Tools: Jupyter | Jupyter Docs | Jupyter Notebook | scikit-learn | pandas | numpy | GQL | State of AI Reports
-
Knowledge Graph: Knowledge Graphs | Data Visualization | NetworkX | NetworkX Guides | Memgraph NextworkX Guide | react-force-graph | spaCy | Stanford SNAP | TextGrapher
- Knowledge Graph Embedding (KGE) AmpliGraph | Knowledge Graph Embeddings Tutorial: From Theory to Practice
- Tools vs | Wikipedia Graph Canvas | Wikipedia Graph Search
-
LLM
- Llama: llama.cpp | Llama on Android/iPhone
- Chinese LLM: Chinese-Mixtral | Llama2-Chinese | Chinese-LLaMA-Alpaca-2
- 浙江大学 LLM 生态体系: KnowLM | DeepKE | NeuralKG | OpenUE | EasyInstruct | EasyEdit
- LLM Reasoning: world models | LangChain
- Packer | Terraform | Terraform CDK | Consul | Vault | Packer Plugin Scaffolding | Terraform Provider Scaffolding
-
Nova | Install Guide | Doc Contrib Guide | Virtual Machine Image Guide | API Quick Start Guide | Glossary | Swift | python-swiftclient
-
| Elastic Stack | Elasticsearch | Kibana | Logstash | Beats
-
Upptime | Docker Mailserver | LinuxServer.io | LinuxServer Documentations
-
-
Start VM from command line
VBoxManage startvm <vm_name> --type headless
-
Stop virtual machine
VBoxManage controlvm <vm_name> poweroff
-
-
To open guest machine network settings to make sure it's attached to NAT
-
Then go to Advanced -> Port Forwarding and add these settings:
- The IP fields can be left empty.
- Name: ssh (or whatever you like)
- Protocol: TCP
- Host Port: 2222 (or any other port you like)
- Gust port: 22
-
Reboot host machine and ssh by
ssh -p 2222 virtualbox-user-name@localhost
-
-
I have a backend-dev origin, but the reason I love frontend-dev, from a technical perspective, is, while not always the case in backend-dev, frontend-dev appears to be a world of functional programming, which I like a lot (subconcisously)
- UI Design Component-Driven UI Development | tailwindcss
- React styled-components | react-bootstrap | react-icons | yarn | Monorepo | TypeScript | React + TypeScript Cheatsheet| Babel | Jest | testing-library | Cypress | Argos | Prettier | typescript-eslint | TypeDoc | ExpressJS | Redux | React Redux | Redux Toolkit | redux-observable | RxJS | InversifyJS | GraphQL Relay | Immer | Lexical | i18next | react-i18next
- Knowledge Graph Memgraph Orb | three.js | D3-graph-gallery
Frontend | Platform 9¾ | Backend
Note
In my architectural view, not only do BE & FE not couple with each other, but also they do not even KNOW the existence of each other. They sit in two different universes. The two universes are completely disjoint and nothing that happens in any one of them is causally linked to what happens in any other one. They are only aware of a "boundary" defined by GraphQL or, if not possible, OpenAPI
- GraphQL: GraphQL | GraphQL Specification | GraphQL Java | Principled GraphQL | Apollo GraphQL | Apollo GraphQL Client (React)
- JSON Schema
- OpenAPI: The OpenAPI Specification | Learn OpenAPI | OpenAPI Tooling | OpenAPI Map
-
Webservice JSR-330 Dependency Injection standard (Javadocs) | Jersey | GlassFish HK2 | Jetty | Groovy Spock | Cucumber | Owner Config | Testcontainers for Java | JaCoCo | ReactiveX | RxJava | JSON:API | Hjson | Querydsl | FastAPI
- Hibernate ORM Introduction (PDF) | Quickstart | User Guide (PDF) | Hibernate Query Language (HQL) (PDF) | Integration Guide | Javadocs | Topical Guides | Logging | Dialects | Migration Guide
-
Security Let's Encrypt | Certbot | Kong Gateway (Docker Compose) | JWT Token(debugger) | Logto | Keycloak Documentation | Keycloak Documentation (Extra)
-
Database Apache CouchDB | Hadoop | Hive (Documentation) | Swift Java | SQL style guide
TiddlyRoam (template file) | Write the Docs | Docusaurus | Bit Twiddling Hacks | Google Engineering Practices Documentation | Git | Changelog | Studying Agile | KTX2 File Command Line Utility | Gource | Turing machine visualizer
- Anki: Anki's manual | AnkiMobile Manual
- The Moth Radio Hour: Confidence Game
- The Moth Podcast: The Olympics with Aimee Mullins
- The Moth Radio Hour: Everything's Bigger in Texas
- The Moth Radio Hour: Second Acts
- The Moth Podcast: Moon Landing Anniversary
不知不觉,已经留下了这么多美丽的足迹,所以,无论未来多么凶险,我都会一直在这条路上走下去