About

Hi, I'm Alexander Wang.

I love to immerse myself in research and development of tools that make our daily life easier, give us better sensory experience, or empower us to gain and apply knowledge more effectively.

I'm now a Web developer specializing in front-end engineering, enjoying writing programs on top of the high-level abstraction of Web technologies, which let me bring ideas to reality quickly. I'm especially familiar with rich-text editing and spatial manipulation, and I plan to start studying data visualization and real-time collaboration. Apart from the Web, I'm also interested in using Rust to build performance-critical software, or integrating Lisp's code as data philosophy to everyday apps.

But in the long-term I don't want to be just an engineering person. I have visions of people being able to think more, think better, and think more freely, so they can do more, do better, and do more freely, with the help of technology. I believe the better future would be everyone being able to command computers in their own languages, just like how we use papers, to utilize the power of computing in daily life, instead of constantly stumble over it or get lost in its complexity.

I like the vibes Alan Kay, Andy Matuschak, Bret Victor, Dynamicland, ghost.org, Ink & Switch, Linux, Logseq, Sprout, Steve Wozniak, thesephist.com (and many more!) are creating. If you enjoy reading my words, you may also find these people / projects / companies interesting.

Projects

Highlights

Jade A digital canvas to help me build a knowledge base that works best with my brain. I use it to visualize my thoughts, discover insights of my knowledge, and improve my workflows. It is inspired by people in the tools for thought evolution.

Notablog A static site generator that turns a Notion table into a blog. Notablog Project Status

NAST A block-based intermediate representation for document-like content.

nast-util-from-notionapi Import Notion Page to NAST.

nast-util-to-react Render NAST to React components or HTML. Demo pages: Blocks Demo, Table & Gallery Demo

stm32f469-usbaudio A STM32 firmware that turns a STM32469I-Discovery development board into an USB soundcard running in USB Audio Class 1.0 (UAC 1.0) asynchronous mode, which is usually found on high-end audio devices, to deliver high quality audio. It supports at max 24-bit / 96 kHz (or any combination of 16 / 24-bit, 44.1 / 48 / 96 kHz that requires lower data rate) stereo audio output and control of volume and mute from the host computer.

Released

notionapi-agent Unofficial Node.js API client for Notion. I had to do reverse engineering to Notion's API (www.notion.so/api/v3, not the public one) to build this, since at that time the public API wasn't out. You can find my documentation here, it's a great resource to learn the more raw form of Notion's technology.

@dnpr (dragonman225's node package repository) Small and general-purpose JavaScript utilities written for my other projects.

Retired

bmvis A tool that let you easily find a bookmark by the rough time period it was added, or browse all bookmarks casually to recall what you were reading/watching.

ngrp A ngspice simulation result parser for JavaScript.

notion-page-downloader A tool to download a Notion page as a HTML that is customizable with CSS. Superseded by npdl (WIP).

TimeTracker An Android app that tracks time usage of tasks. Built with Cordova.

Contact

Email me at zxcvb22217+blog [at] gmail [dot] com

I can speak Mandarin and English. ζ—₯本θͺžγ‚’勉強しています。

Collaborate with me on Github β€” https://github.com/dragonman225

Read my random thoughts about tools for thought on Twitter β€” https://twitter.com/dragonman225

Access this website

Last updated @2021/10/03