Repository navigation
Expand file tree
/
Copy pathprojects.html
More file actions
259 lines (233 loc) · 12.2 KB
/
Copy pathprojects.html
File metadata and controls
259 lines (233 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<!DOCTYPE html>
<html lang="en" data-scroll="30">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Projects | Mark Ng</title>
<!-- GLOBAL CSS & FONTS -->
<link rel="stylesheet" href="styles/global.css?version=20">
<link href="content/fonts/fonts.css?version=1" rel="stylesheet">
<link href="content/fonts/fonts.css" rel="stylesheet">
<link rel="stylesheet" href="styles/projects.css?version=2">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="icon" type="image/png" href="content/icons/favicon.ico">
<!-- Essential META Tags -->
<meta property="og:title" content="Projects">
<meta property="og:description" content="I code and tinker. Check out all my work over my life.">
<meta property="og:image" content="https://markng.com/content/thumb.png">
<meta property="og:url" content="https://markng.com/about.html">
<meta name="twitter:card" content="summary_large_image">
<!-- Non-Essential, But Recommended -->
<meta property="og:site_name" content="About">
<meta name="twitter:image:alt" content="Mark Ng Emblem">
</head>
<body>
<!-- top navigation -->
<a class="skip-main" href="#section-top">Skip to main content</a>
<div class="navigation navigation-background noselect" id="navbar">
</div>
<div class="navigation noselect navigation-container">
<div class="noselect">
<div id="hamburger-wrapper">
<div class="hamburger-line hamburger-line-top" id="hamburger-line-top"></div>
<div class="hamburger-line hamburger-line-bottom" id="hamburger-line-bottom"></div>
</div>
<ul class="navigation-list noselect" id="navigation-list">
<li><a class="linkfix noselect" href="./index.html" target="_self" data-section-pair="cover">Home</a></li>
<li><a class="linkfix noselect" href="./about.html" target="_self" data-section-pair="about">About</a></li>
<li><a class="linkfix noselect navigation-selected" href="./projects.html" target="_self"
data-section-pair="projects">Projects</a></li>
<li><a class="linkfix noselect" href="./index.html#contact" target="_self" data-section-pair="contact"
data-section-bottom="true">Contact</a>
</li>
</ul>
</div>
</div>
<div class="section" id="section-top">
<div id="navbar-pad"></div>
<div class="section-content">
<a href="index.html" class="indented-link back-link" draggable="false" target="_self">← Back to Home</a>
<div class="info-row-flex">
<div class="info-col">
<h1>Full List of Projects</h1>
</div>
</div>
<div class="info-row-grid">
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/cifp-visualizer">
<h2>cifp-visualizer</h2>
<p>
Creates accurate visualizations of coded flight procedures in 3D. The visualizations
respect altitude constraints, aircraft turn radii and climb/descent rates, and are
shown with reference to the surrounding 3D terrain.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/wasm-math-evaluator">
<h2>wasm-math-evaluator</h2>
<p>
A symbolic math evaluator library written in Rust for the web.
Includes a handwritten parser and custom implementations for
certain maths functions, and compiles to WebAssembly.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/caglang">
<h2>caglang</h2>
<p>
An expression-oriented, statically typed programming language, with first-class support for
algebraic data types. This is more of a project for learning than anything else.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<div class="info-panel">
<h2>FlyLive</h2>
<p>
FlyLive was the first tool to let flight simulator streamrs display flight information
on their livestream with full freedom of their overlay's design.
</p>
</div>
<div class="info-panel">
<h2>FlyChrono</h2>
<p>
FlyChrono is a flight simulator time-syncing tool. It aims to
provide more and better features than existing paid solutions
for free.
</p>
</div>
<a class="info-panel info-panel-link" href="flylivestudio.html" target="_self">
<h2>FlyLive Studio</h2>
<p>
A flight simulator streaming suite offering unparalleled
flexibility, and is used by some of the biggest
livestreamers.
</p>
<span class="panel-link">
<span class="panel-link-text">Find Out More</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="flychrono2.html" target="_self">
<h2>FlyChrono v2</h2>
<p>
FlyChrono v2 is an open source flight simulator time-syncing tool. It aims to
provide more and better features than existing paid solutions
for free, while improving on my FlyChrono application.
</p>
<span class="panel-link">
<span class="panel-link-text">Find Out More</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/OpenSkillBot">
<h2>OpenSkillBot</h2>
<p>
A Discord bot for competitive game servers to manage players.
This was created as a way for me to learn the Discord API.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/MathsTest2024">
<h2>Maths Test Framework (2024)</h2>
<p>
A framework for creating client-side maths assignments
with automatic answer checking. This was created for a
separate April Fools joke, but has genuine utility.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark/SimpleCountdown">
<h2>SimpleCountdown</h2>
<p>
A beautiful, minimalist, client-side only countdown creator.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
<a class="info-panel info-panel-link" href="https://github.com/CAG2Mark?tab=repositories&q=advent-of-code">
<h2>Advent of Code Solutions</h2>
<p>
My complete solutions to Advent of Code from 2021 to 2023.
</p>
<span class="panel-link">
<span class="panel-link-text">GitHub Page</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
</div>
<div class="info-row-flex">
<h1>Research Work</h1>
</div>
<div class="info-row-grid">
<div class="info-panel">
<h2>MLscript</h2>
<p>
Under HKUST's UROP program, I implemented <a href="https://github.com/hkust-taco/mlscript/pull/218" target="_blank">tail-recursion modulo cons</a> in the
<a href="https://github.com/hkust-taco/mlscript" target="_blank">MLscript programming language</a>.
MLscript is a programming language designed with type inference and soundness in mind and compiles to many targets, including JavaScript. It is developed by
HKUST's <a href="https://cse.hkust.edu.hk/~parreaux/" target="_blank">TACO Lab</a>.
I am now an active contributor to MLscript, and use it to explore various research topics, such as algebraic effect handlers and program optimization and translation.
</p>
</div>
</div>
<div class="info-row-flex">
<h1>Work for Organisations</h1>
</div>
<div class="info-row-grid">
<div class="info-panel">
<h2>HSSC</h2>
<p>
I created a blog system and a "Word of the Day" widget for a school organisation
known as the Humanities and Social Sciences Council.
</p>
</div>
<a class="info-panel info-panel-link" href="http://issiamagazine.com/">
<h2>ISSIA Magazine</h2>
<p>
The ISSIA is an international inter-school organisation aimed at cultivating
global citizenship. I created their magazine website with a custom static
site generator that acts as a blog system.
</p>
<span class="panel-link">
<span class="panel-link-text">Visit ISSIA Magazine</span>
<img class="panel-link-arrow" src="content/icons/arrow.svg">
</span>
</a>
</div>
</div>
</div>
<!-- footer -->
<div class="section" id="footer">
<p id="copyright">
© 2026 Mark Ng
<br>
<span style="font-size: 16px">
This portfolio and all of its systems are designed by Mark Ng
</span>
<br>
<br>
<span style="font-size: 16px">
Licensed under the GNU GPL-3.0 License
</span>
</p>
</div>
<!-- scripts -->
<script src="scripts/global.js?version=3"></script>
</body>
</html>