I published this blog from 2003 to 2008.
Maintaining it doubled as a means to keep up with server, web, and publishing technologies. Over time it migrated from Movable Type, to Wordpress, to Django, back to Wordpress, to Jekyll and Ruhoh, to Hakyll, and back to Jekyll — with unpublished attempts in Ghost and Hexo.
These were written when I was (obviously) much younger; but also, when the web was younger too. Much of it now strikes me as naive. Even more may strike you as naive, if you read these though as though they were written today. For context, this was written before the terms “single-page application” and “AJAX” existed (and before the concepts were in common use). The earlier posts predate jQuery, and its predecessor Scriptaculous. For much of this time, I was working on the Laszlo Presentation Server, which became OpenLaszlo, and was an early alternate-history exploration of these ideas, as well as data binding and reactive web programming. It was far from clear that JavaScript would evolve to become a software engineering language, or gain support for functional programming.
Popular posts included The IDE Divide and Overloading Semicolon.
Posts that failed to make a splash include Service Clients (an early attempt to describe what was later named AJAX), and Rethinking MVC (an early attempt to describe what was later named MVVM).
The illustrations in my My Git Workflow have been adapted (with permission) and improved many times. You can find better versions, including interactive versions, elsewhere on the web.
Posts
- Stroop: A Card Game A card game
- DLW RIP DLW
- Code Samples from Practical Functional JavaScript Code samples from my 2008 Functional JavaScript talk
- Practical Functional JavaScript My Functional Javascript talk
- Latin Agreement and Case A poster about case and agreement in Latin
- Commit Policies This stuff's in lots of git books these days
- My Git Workflow This stuff's in lots of git books these days
- My No TV Written before computers became TV’s too
- The Biofuel Economy Does biofuel raise the cost of food? No analysis, just a picture.
- Ambimation An ambigram set to flash
- jQuery Profile Plugin Nowadays the browser developer consoles do this
- Minimizing Code Paths in Asynchronous Code If a function might sometimes defer a callback, it should always defer the callback
- A Mock for {set,clear}{Timeout,Interval} Modern test libraries do this
- Conquering the Busy Cursor with Sequentially Nowadays I use Promises for things like this
- DB Content Rails Plugin A Rake database plugin.
- JCON: Ruby Gem for JSON type conformance A library to test web apps JSON against a schema
- Three Small JavaScript Libraries Some meta-ish libraries from when I was doing lots of JavaScript
- JavaScript Fu Rails Plugin Some syntax for using JavaScript with Rails
- FlashBridge: proxying Flash and OpenLaszlo This was kind of cool when Flash was still a useful web technology
- FizzBuzz Station My try at golfing
- Synchronizing Client Models A certain race condition from when client-server model sync was a fresh problem.
- More Monads on the Cheap: Inlined fromMaybe CoffeeScript builds this in
- Self-Printing JavaScript Literals A JavaScript print library — from before web developer consoles
- Supply/Demand Springs Visualizing supply and demand (illustration)
- Knowledge Per Unit Time Good people know a lot for their age
- Two Thoughts on Elections Some thoughts on voting systems
- Adding the Easy Piece; or, The Metaphor of the Rock A correct but ineffective argument for putting off things that slow you down and can be done cheaply later
- Getting Lost Frontloading risks when they're cheap
- Why Write Open Source Libraries Some advantages of open source hobby projects
- What Every Programmer Needs to Know About Category Theory A lame joke
- The Programmer’s Food Pyramid Programmers should read to learn how to write (with picture)
- What I didn’t get to Some projects I didn't finish in 2007
- Monads on the Cheap I: The Maybe Monad An idiom that CoffeeScript’s existential operator replaces
- Overloading Semicolon, or, monads from 10,000 Feet My Monad tutorial, back (2007) before these became quite so much a thing
- Sequentially: Temporal and Frequency Adverbs for JavaScript Fun library; these days I uses Promises instead
- Functional Javascript 1.0.2 Functional JavaScript update
- Marvin’s Cake Marvin's Minsky's Infinity cake
- Functional JavaScript Functional JavaScript library
- Division-free LCM An algorithm I invented(?)
- One-Line JavaScript Memoization Early JavaScript memoization code
- Wide URLs with WideURL.com An April first site.
- A Functional Diversion Joke site
- JavaScript Gradient Roundrects My roundrect library from before CSS had this
- Inline JavaScript Console Portable JavaScript developer console — from before browsers had web developer consoles
- Readable JavaScript Values Another JavaScript debugging library from before browers had web developer consoles
- Canvas with Text Library for overlaying text on an HTML5 canvas — from before canvas had drawText
- Javascript Beziers Javascript Bezier library
- reWork: an online workbench for regular expressions Regular expression web workbench — now defunct
- JSON for OpenLaszlo My JSON library for OpenLaszlo
- Visualizing Regular Expressions Visualizing regular expressions as NFA’s and DFA’s
- “Stretch” Languages, or, 28 years of programming Timeline of languages in my life
- Visualizing Subversion Project Activity Subversion web gui — defect
- Fortunately Fun (defunct) site I wrote based on the Remy Charlip book
- Expialidocio.us Deliciou.us tag visualization site I build once
- OpenLaszlo Ruby library Announcing a library for using OpenLaszlo with Ruby
- Aargh! Using Google to compare spelling frequencies
- Adding Fractions Visualizing adding fractions
- PackageMapper A package-tracking site I built some weekend
- Grief RIP Max Steele
- Second grade squares Visualizing how to solve a simple math problem
- OpenLaszlo Blog Announcing the OpenLaszlo blog
- OpenLaszlo software development position open Job post
- Wasting Time with Laszlo Responding to something or other
- PyCon 2005 My PyCon 2005 talk
- Laszlo Mail Laszlo’s web mail product
- Ruby and Laszlo Announcing a library for using Rails with OpenLaszlo
- Laszlo’s Boston Office Laszlo’s Boston office
- Three Lefts Make a Right: The Type Declaration Paradox Comments versus type declarations
- The Type Declaration Compromise Manifest typing has a hidden cost
- Visualizing Basic Algebra Visualizing basic algebra
- Serving Client-Side Applications AJAX, before it was a thing
- The Apple Boutique Apple avoids the choice paradox
- Multi-tiered Turkey Consumption Thanksgiving joke, I guess
- The IDE Divide The hidden cost of using an IDE
- IDE4Laszlo OpenLaszlo plugin for Eclipse
- Constraint Diagrams Some pictures to represent the way I think about things
- Open Laszlo Announcing OpenLaszlo becoming open source
- Better Living Through Bigger Text This one weird trick gives you longer battery life
- The Novell Virus Kids say the funniest things
- Responsive Interfaces and Effective People “Responsive” didn't mean then what it means now
- Becoming Lisp Python’s getting more like Lisp
- Refactoring for Fifth Graders Rambling about elementary school programming
- Tablehood Watch “Will you watch this for me?”
- There They’re Some of the more confusable common English spellings
- Web MVC Comparing MVC and RIA architectures
- XML Schema Versioning with RELAX NG A proposal for XML schema versioning
- Aspect-Oriented Programming with mod_rewrite Htaccess approximates AOP
- Unqualified Imports for XML An import system for XML-based languages
- What’s in a Namespace? Namespacing for XML
- A Fresh Canvas How we defined tags in OpenLaszlo XML
- PyWordNet 2.0 Announcing PyWordNet 2.0
- Ingrediants and Isochems A couple of nonce words
- Instance-First Development Defining XML-based view components in OpenLaszlo
- Optimizing for Broadband A lot of work to make web applications faster
- Re-count Another voting system essay
- The Virtual Computer Company Xerox vs. Apple vs. Microsoft vs. Dell
- Laszlo Booklist Application An OpenLaszlo app I wrote
- Before Teletext Henry Minsky’s teletype hack
- A Taxonomy of Comments Some different uses for programming language comments
- Test versus Type The hidden cost of manifest typing
- Dot Numbers An alternative pedagogical representation for negative numbers
- Laszlo Blogging Widget An early data-binding app
- Rethinking MVC This was reinvented as MVVC
- myLaszlo.com Before jsfiddler
- Hard Questions Some questions my kids asked me
- The Other OO Learning from the military
- In Memoriam: Instant Update Before Spotlight
- Birthday Numerology How many different times you can be twice someone's age
- Semiotics of Weddings Idling on thinking about the meaning of weddings
- Nobody’s On That Train Grammar and sexism
- Pretty-Printing wth XSLT My largest XSLT program
- Alternate Syntaxes for XML JSON and YAML came along and did this.
- Behr Color Center Behr paint’s use of Laszlo
- Most Fun I’ve Ever Had Most fun I’ve ever had
- Disney World Appreciating Disney World
- Newer Math Appreciating math education.
- Provenance I wish pundits came with this too.
- Moblesse Oblige Comcast forces this now
- Welcome Sarah Allen! Sarah Allen joins Laszlo
- Fenceposts, Benzene, and Euler Some math connections
- The Semantic Depths When RDF looked feasible
- Designing a Language Thoughts on designing a programming language
- The DSL Tower DSLs
- Joining Laszlo Joining Laszlo
- Declarative Directions Two ways to give directions
- ETech O’Reilly E-Tech 2003
- Moving Online First post
subscribe via RSS