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, etc are creating. If you enjoy reading my words, you may also find these people / initiatives / organizations interesting.
Projects
Highlights
- Jade is a Web-based canvas application to help me explore knowledge and clarify my thinking in a non-linear way. I was inspired by the people who worked in the tools for thought space.
- Notablog is a static site generator that turns a Notion table into an internet blog, like the one you’re reading now.
- stm32f469-usbaudio is an embedded firmware that turns an STM32469I-Discovery development board into an USB sound card running USB Audio Class 1.0 (UAC 1.0) in the asynchronous mode, which is capable of delivering bit-perfect high quality stereo audio (24-bit / 96 kHz max). It can be used to build high-end audio DACs that need USB input from computers.
- Other bitrate / sample rate combinations that requires less data rate, such as 16-bit, 44.1 / 48 kHz, are also supported and switch automatically.
- Hardware volume control and mute is implemented.
- NAST is a block-based intermediate representation for document-like content.
- nast-util-from-notionapi imports Notion’s JSON representation of pages to NAST.
- nast-util-to-react renders NAST to React components or HTML.
- Demo pages: Blocks Demo, Table & Gallery Demo
Others
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 alexwang.maker+blog [at] gmail [dot] com
Collaborate with me on Github — https://github.com/dragonman225
See my random thoughts on Twitter — https://twitter.com/hialexwang
Access this website
- Primary: https://dragonman225.js.org/
- Mirror: https://dragonman225.netlify.app/
Last updated @2024/01/22