Fastidious Elegance


My name is Aaron Hsu, and I'm a computer scientist. I'm changing the way people look at computing and programming languages, what they can do with them, and how they do it.


  1. A Score for Development Optimization

    Optimization removes the unneeded. The supreme development methodology removes itself. Change is constant; admit change. Change but do not disrupt; bend without breaking; bring peace, not chaos. Code is written once, but read without limit; therefore, code to read, not to write. Good design makes implementation easy; the clearest design…

    on methodologies, coding, development

  2. Modern Cleanroom Software Engineering in an APL Context

    The Problem I've spent some time with Cleanroom Software Engineering attributed to Harlan Mills. Without a doubt it is my favorite development technique. In a nutshell, CSE gives me the following benefits: Certified reliability metrics of the code base Formal verification of code correctness Certification of code based on actual…

    on apl, cleanroom, sequence-based enumeration, black-box, software engineering, specification, formal methods, verification

  3. Co-dfns v0.3 Released

    After a long wait, I happily announce the first open-source release of the Co-dfns compiler. This version provides the features demonstrated at the Dyalog '14 conference in Eastbourne, UK. In particular, it supports the Blackscholes benchmark on GPU and CPU and the ability to easily switch from GPU to CPU…

    on apl, co-dfns, dfns, Release, release

  4. Debugging is Ignorance

    Today reminded me how much I dislike debuggers. Really, though, I do not dislike debuggers; I dislike languages that compel me to use one. Debuggers help, but not completely, compensate for poor languages. Debuggers guide us through code we do not understand. Good language design rather improves our capacity to…

    on programming, debugging, language design

  5. A Favorite Gnome Feature

    I unashamedly enjoy Gnome 3; some of its features don't get enough attention. Case in point: yelp man pages. What a luxurious way to read your man pages! …

    on gnome, man pages, yelp

  6. Imminent Co-dfns Releases

    I've been wanting to get increment Co-dfns releases out to the public for a long time. I think that we (Dyalog and myself) have reached a point where we will be able to do this very shortly. This excites me a great deal, since this will enable people to begin…

    on apl, co-dfns, dfns, Release, compiler, release

  7. ARRAY '14: Ancient Language, Modern Compiler

    Location: ARRAY '14 Paper Abstract The APL language allows subject matter experts with no computer science experience to create large and complex software implementations of ideas without excessive software engineering and external development costs. The rapid increase in data sizes challenges existing APL systems, which are all interpreters, to scale…