Why I love Clojure

Here’s some code I’m writing for my day-job. I have an iterator of IScoreObjects (basically things that live on a musical score or timeline).I want an iterator of only the Notes. Where Notes are one of the things that implement the IScoreObject interface and can live on the score. Here’s my code. import java.util.Iterator; public …

The Future of Lisp

Another rescued Quora answer to the question : What is the future of the LISP programming language? I’m writing this answer as an unabashed Clojure fanboi. The second of these advantages is syntax for data-structures. (defn f [x y] (the int (+ x y))) That’s it. You’ve typed the expression (+ x y) as having …

The Free Software Foundation #1

I’ve been answering a couple of questions about the Free Software Foundation on Quora, recently. Here’s the latest. Should social (software) freedoms as espoused by the Free software Foundation trump technical superiority as implied by the Open Source development paradigm? Yes.The political message of the Free Software Movement is much bigger and more important than …

The Great Software Stagnation

Jonathan Edwards is one of those people I both profoundly agree with and profoundly disagree with. In his new year essay The Great Software Stagnation he again complains about the way the computer science field seems to be running out of new ideas. I agree wholeheartedly with his frustration. And, sure, with a few bright …

Tablets for Content Creation

Source: Thread by @interstar: @msimoni @coreload I think the tablet COULD be a perfectly good device for content creation if people would just do the damned UI design wor… Another part of the thread. Manuel Simoni (@msimoni) says : But I don’t want a file system, I want Xanadu. But it should still be editable …

Against Direct Manipulation

I’m debating on Twitter about Direct Manipulation. Here’s the first part of my discussion unrolled. I’m asked why I think the Desktop Metaphor has held us back. My response in 6 tweets. (Note that there’s a lot more good discussion in further pushback I get)   Complicated for Twitter. Here’s what I think in summary. …

Browsers Accessing the Local Disk

After writing Why isn’t browser based programming or browser based IDEs more popular? – Smart Disorganized I want to emphasize and ask again. Why aren’t the browser makers offering us a way for web-apps to read and write from the local disk? I know that it’s a mega security issue. But it should be possible …

Why isn’t browser based programming or browser based IDEs more popular?

My Quora answer : Basically because most programmers use a bunch of other tools that are local, on their hard disk. These include compilers, libraries, source control, unit-testing frameworks, CI/CD pipelines etc. etc. And browsers, because of their security model, are really bad at talking to the local disk. So, if you want to use …

Android : Extended SurfaceView's onDraw() method never called

This has just resolved something I’ve been beating my head against the wall over for the last several days. Source: android – Extended SurfaceView’s onDraw() method never called – Stack Overflow WHY? Android? Why are you so convoluted and perverse? So … yeah … subclass the SurfaceView class … and you’d expect to be able …

Extra thoughts on "Assemblage" Oriented Programming

Brief followup thoughts on the previous article. Read that first. Classes? Classes are really just techniques to help construct objects. In an “Assemblage” language the Assemblage or Pattern itself is the way you construct the objects. The grammar explains how to parse a plain EDN or JSON-like data-literal into the assemblage. So perhaps we don’t …