Programming Project
This page contains links and outline about my programming projects, including my major research and other data science project I have been learning since the pandemic lockdown (thanks to Caltech for supporting us to take the online courses to broaden our IT skills.)
Fortran Project
This is a robust multi-dimensional hydrodynamics code for general simulation. I designed the code in modular structure (fortran 90 does not fully support OOP) the code has different plugin for modeling different types of supernova explosion. A majority of my research work relies on this code. It has produced some of the largest parameter surveys for supernova explosion in the literature. Code available on a collaborative manner.
Python Projects
Simulation (Numpy and OOP)
Agent-based model for Macroeconomics (Github for code demo)
This is the large scale agent-based simulation based on cash-flow consistent modeling (see here for definition). The simulation models the interaction between firms, consumers and banks and I studied . The simulation is capable to model multiple countries at the same time and their international trade, the exchange of currency becomes an emergent phenomenon. The simulation will assist us understand how fiscal policy and large-scale consumer sentiment change the global scale of trade.
Data Science/Machine Learning (Pandas, Numpy, SK-Learn, Tensorflow)
I have been doing machine learning projects for my curiosity why several neurons can represent so many functionalities (memory, decision...). I used different types of artificial neural network (ANN) for text generation, classification, prediction and so on.
[Visit my Github for the source code available: here]
Mimicking a logic gate with ANN
Predicting passenger number with LSTM
Generating text in the style of Andrew Lang
Analyzing the sentiment of Tweet's about Pfizer by NLPT
Indicator analysis of stock price by Pandas
Classification of machine intrusion by supervised classification
Product recommendation based on purchase history
Suspicious transaction Identifier
Python apps (Streamlist, PyGame, Tkinter, Beeware, PySimpleGUI)
I have also developed a number of python apps with the help of sophisticated GUI libraries. The development includes both the backend (the logic of the apps) and the frontend (the GUI of the apps). The development of the apps allows me to appreciate better how a consistent and stable application should be maintained from both the user-friendliness level and the sustainable coding level. Some recent projects include:
(GitHub site available here)
A contact book apps with window installer (Installer)
SQL viewer (Link to source file and sample DB)
Account manager for daily bookkeeping
Investment manager for portfolio management
Othello apps (by decision tree)
Forex historical price quote app
Real-time weather app (through OpenWeatherMap api)
Investment portfolio management
Composer's composition query page
Visualization of auto-correlation (Apps deployed here)
Airport Connection finder (Apps deployed here)
Note: Sometimes the apps could be hibernating when I forgot to touch it for more than a week. Let me know if you find that.
Full-Stack Development (Django, Flask)
Note: Sadly all apps are removed since Heroku no longer supports free dyno for app show case :-(
- Bookshop project (removed)
I have also used other Python libraries including Django, Flask and FastAPI for building up the frontend and backend of the webpage. I built for demo purpose my Maumau Bookshop (It takes a few seconds to reboot in case the dyno is hibernating). The webpage is hosted fully on Heroku. The backend uses SQL (Sqlite3 default in Django) for managing all the clients data and transactions.
Features implemented:
Bookshop membership registration and management
Member inbox and contact
Database of client orders and books purchase
Database of books, stocks and the author catalogue
2. Apps Place (removed)
I have developed a platform to host different mini apps so that I may continue to build Javascript or Python apps and demonstrate them directly. The platform features both public apps and member-only apps.
Features implemented:
Mini games with player record stored in database
Today's new through API
Message box and forum
HTML5+CSS3+JS for Browser App
Javascript App Corner
Hosted on Github --> click here
I have used JS extensively with Bootscrap 5 to create responsive and interactive webpages for browser-app development. The app aims at limited to one page and fulfill one particular use (e.g. fetching certain information or completing certain task).
I made a page to collect some of these examples. They include:
Mini unit converters
Task scheduler
Market simulator
API data fetcher demo
Gravity simulator (N-body simulation) app
More apps coming soon... :-)
C# project (Unity)
I have also spent some time to investigate how to build 2D games by Unity. Using Unity for a 2D game could be an overkill but this helped me to approach this gigantic software the the C# programming, which I seldom touch. The product is a lovely platform game about the doggo who finds its way home.