bolasblack - Overview

Hi there, I'm c4605 :)

  • I'm currently working as a front-end engineer
  • I'm learning Rust
  • I have some knowledge of ClojureScript, Bash, Python, Ruby, MySQL, Ansible, and iOS development :P
  • I'm using Emacs (My emacs config) and Nix (my nix config and my nix overlay)

Interesting projects

http-api-guide

A comprehensive HTTP API design guide written in Chinese. Covers RESTful principles, error handling, versioning strategies, and best practices for building maintainable APIs.

effect-saga

A demonstration of Effect's powerful capabilities by reimplementing Redux-Saga's core patterns with remarkably simple code. Shows how Effect's built-in primitives (Fiber, Queue, Deferred) make complex async orchestration effortless—what takes redux-saga hundreds of lines becomes concise and type-safe with Effect's functional programming foundation.

btc-utils

Bitcoin transaction utilities for TypeScript. Provides zero-dependency helpers for estimating transaction vSize before signing and calculating dust thresholds. Designed to be easy to read and understand with clear documentation links.

programr

A Ruby interpreter for AIML (Artificial Intelligence Markup Language), originally forked but extensively rewritten. AIML is an XML-based language for creating chatbots and conversational AI agents, making it an interesting exploration of early chatbot technologies.

@c4/use-effect-reducer

A showcase of Elm architecture's elegance in handling complex interactions. By adopting Elm's TEA (The Elm Architecture) pattern where reducers return [nextState, effect], this hook demonstrates how naturally difficult state machines and async flows become when effects are event-driven rather than state-driven. Eliminates useEffect dependency tracking entirely—complex UI interactions that typically require careful effect orchestration become simple, declarative action-effect pairs.

Blockchain

  • bitcoin-wallet-connector: A unified interface for interacting with multiple Bitcoin wallet browser extensions (Unisat, Xverse, OKX, Leather, Bitget, Magic Eden). Features security-first architecture and restrained API design.

State Management & Data Flow

  • yarw: A typesafe, effective Redux wrapper that simplifies Redux boilerplate while maintaining type safety.

React Components & Hooks

  • @c4605/react-modal: A lightweight modal component with a convenient useModal hook.
  • @c4/use-async: Type-safe async function helper hook for managing loading states and errors.

Build Tools & Developer Experience

  • shadow-cljs-vite-plugin: A Vite plugin for shadow-cljs that provides seamless integration and a better developer experience.
  • git-hook-pure: A lightweight husky alternative written in pure Shell for faster git hook management.
  • @c4/g: Custom schematics (code generators) built on Angular CLI's scaffolding system for rapid project setup.
  • babel-plugin-jsx-wrapper: Enhanced Babel plugin that automatically wraps JSX components with observer decorators (MobX, Realar, etc.). Adds ES module support, custom decorators, displayName, and React.memo integration - significantly reduces boilerplate code.
  • module-mapper-webpack-plugin: Dynamically replace module paths at build time for flexible dependency management.
  • interpolate-webpack-plugin: Inject predefined variables into your built assets for environment-specific configurations.