Welcome to My Blog
Physics Calculators, DSP Tools, and Programming Resources
Hello, I’m Tong Su! 👋
Welcome to my personal website where I share interactive calculators, physics simulations, and programming resources.
🚀 Featured React Projects
All projects below use React 18 + Vite for modern, modular architecture.
Physics Pipeline
⚛️ React + Vite
- 10+ physics formulas
- Auto-connected pipeline
- Modern component architecture
- View Source Code
Python Runner
🐍 Pyodide Integration
- Run Python in browser
- Code editor with syntax highlighting
- Sequential blackbox demo
- Real-time execution
DSP R(z) Analysis
🎛️ Signal Processing
- Zero-pole analysis
- SymPy computation
- MathJax equations
- Interactive plots
🔬 Pyodide Sequential Computing Projects
Advanced React projects with Pyodide integration for browser-based Python execution.
Pyodide Physics Pipeline
🔗 Sequential Pipeline
- Python-based physics formulas
- Block-by-block execution
- Detailed computation logs
- Powered by Pyodide + SymPy
Pyodide DSP R(z)
📡 Signal Processing
- Advanced DSP analysis
- Python SymPy backend
- Zero-pole computation
- Browser-based execution
PyScript Pipeline
🐍 PyScript Integration
- PyScript + React hybrid
- Python formulas in browser
- Interactive calculations
- Modern web stack
🧮 SymPy Interactive Demos
Symbolic mathematics with equation manipulation and variable swapping.
SymPy Equation Solver
🔀 Variable Swapping Demo
Features: - Symbolic Equation Rearrangement: Automatically rearrange equations using SymPy - Variable Swapping: Solve for any variable in the same block (e.g., d=s/t → s=d*t → t=s/d) - Unknown Variables: Display equations with symbolic variables before substitution - Pyodide Cache Status: Visual indicator showing if Pyodide is loaded from cache - LaTeX Rendering: Beautiful equation display with MathJax
Example Equation: d = s / t (distance = speed / time) - Solve for d (distance): Input s, t → Calculate d - Solve for s (speed): Input d, t → Calculate s - Solve for t (time): Input d, s → Calculate t
All in the same interactive block!
These are older, single-file versions without build requirements:
- Physics Pipeline (Vanilla JS) - No build needed
- Python Runner (Vanilla JS) - Original version
- DSP R(z) Analysis (Vanilla JS) - Original version
- Physics Formula Blocks - Drag & calculate interface
🧪 Learning Resources & Demos
Step-by-step learning with React + Vite:
React 1-Formula Demo
🧬 Beginner Level
- Single formula implementation
- Component structure basics
- State management intro
- Perfect for learning React
React 2-Formulas Demo
🔮 Intermediate Level
- Multiple formula connections
- Props flow between components
- Component composition
- Practice data passing
Simple, no-build demos for quick learning:
- 1 Formula Demo 🧪 - Single formula, instant run
- 2 Formulas Demo 🔭 - Velocity + Displacement connections
To build React projects locally (optional - pre-built versions already included):
Windows:
build-all-react.batMac/Linux:
./build-all-react.shSee React Projects Guide for detailed instructions.
🎯 Other Interactive Tools
Block Formula Demo
🧮 Interactive Blocks
- v, a, d calculations
- Visual data flow
- Manual or connected inputs
- Drag to position
Block Drag & Connect
🔗 Drag & Drop
- Reposition blocks freely
- Connect input/output ports
- Auto-calculate on connection
- Visual programming style
- DSP Tutorial 📚 - Learn zero-pole analysis concepts
- DSP R(z) Analysis (React) ⚛️ - Modern React version
- DSP R(z) Analysis (Vanilla) - Original JavaScript version
Click to expand additional demos
- Drawflow Visual Calculator - Visual node-based calculator
- Block Sequencer - Sequential block execution
- Blocks Drag I/O - Input/output block system
- Physics Blocks Pipeline - Multi-formula drag pipeline
- PyScript Calculator - Python-powered calculator
📚 Programming Resources
External Resources
Local Resources
- MATLAB scripts and tutorials
- Numerical computing examples
- Signal processing demos
📖 Documentation
- 🚀 Quick Start (Netlify) - 5-minute automated deployment
- ⚛️ React Projects Guide - Build and run React projects
- 🌐 Netlify Deployment Guide - Complete CI/CD setup
- 📐 React + Vite Architecture - Technical architecture details
- 📝 Project Updates - Latest changes and version history
🔗 Technology Stack
Frontend
- React 18 + Vite 5
- Vanilla JavaScript
- Quarto for static site
- Pyodide (Python in browser)
Libraries
- SymPy (symbolic math)
- MathJax (LaTeX rendering)
- Matplotlib (plotting)
- PyScript integration
Resources
📝 Recent Updates
New React Projects: - ✨ 5 React + Vite projects with modular architecture - Physics Pipeline (full version + 2 learning demos) - Python Runner with Pyodide integration - DSP R(z) Analysis with SymPy + MathJax
Improvements: - 🔧 One-click build scripts for all React projects - 📚 Comprehensive documentation and deployment guides - 🎨 Reorganized project structure with collapsible sections - 🐍 Browser-based Python execution via Pyodide - 🚀 Automated Netlify deployment pipeline
- Try React Projects: Click any of the featured React projects above
- Learn Gradually: Start with 1-formula demo, progress to 2-formulas
- Explore Alternatives: Check vanilla JS versions for simpler, no-build options
- Build Locally (optional): Use
build-all-react.batto build from source - Read Docs: See guides for deployment and customization
Built with ❤️ using Quarto • Published on Quarto Pub
Last updated: November 16, 2025