Portfolio
NTU voter authentication system
The electronic system redesign was adopted in 2014 and used in the semiannual campus elections.
Electronic voting in NTU consists of two independently operated services — an anonymous ballot casting system (written by MouseMs), and a set of heavily supervised voter authentication methods. This may include in-person ID verification, prior registration of remote voting through e-mail, or by other means.
Designed to mimic paper ballot distribution as in Taiwan’s elections, the central server maintains a set of pre-generated, notarized external tokens (“blank ballots”). NFC-enabled Android devices (and later Windows) devices set up at the voting centers would be able to read the campus ID, ask the central server to verify its validity, and issue an unused token from the pool. These tokens would be dispatched to the tablets at the same voting center by the very same client.
Project Home | Statistics | Slide at g0v.tw summit 2018 and SOSCON ’18
Statute typesetter & publication toolkit
The statute publication toolkit is a set of pipeline build tools that enables automatic, highly customizable generation of both digital and paperback statute compilations.
The toolkit came with a document tree parser, a print-ready commercial-grade stylesheet powered by CSS3 Paged Media Module, and a choice of renderers with extensive format correction and CJK abbreviation rules. It was inspired by the LaTeX CI pipeline of Tortue, a legislation history repository created by Shouko.
NTUSA Code Reference, Concise Edition was published using this toolkit. Apart from Student Association codes, the proof-of-concept reference book also included national laws, agency regulations, rules of procedure and pocket charts to demonstrate its wide-range support of statutory materials. Hook the toolkit to an official source e.g. the XML data provided by e-Gov Statute API, and you’ll be ready to go.
Project Home | Website | ISBN 9789869633703, available at NTU Library and NCL
Personal projects
Utilities
- Moso, minimalist Pomodoro timer app [Swift]
- Lit, live presentation through large text [Qt]
- Ostraka, full-featured news channel clone of Presidential Election ballot counting [Three.js, Qt]
Websites
- Weekly, e-newsletter generation and online archive [Django]
- Roboconf, conference staff registration and issue management system [Django]
Libraries
- Material, Qt/QML component library for Material Design UI [QML]
- Plurq, Qt library for Plurk OAuth API [C++]
Apps
- MoeDict port on MeeGo Harmattan, a g0v.tw project [QML]
- Librii, a statute reference app on MeeGo Harmattan [QML]
- Geocaching for NTUOSC partner clubs at Club Activities Fair [Java]
- rsPlurk, a desktop Plurk companion written in junior high school years [VB.net]
Commissions
- Prof. Chao-ju Chen’s personal website, implemented as Blogger template [CSS]
- Referendum, an online advisory referendum system for NTU [Django]