Cache as cache can

Neal Ford is at it again with part 3 of his Groovy subseries, which is but a part of his broader super-series on functional programming: Functional thinking: Functional features in Groovy, Part 3: Memoization and caching.

Posted in JVM languages | Tagged , | Leave a comment

Never never never never never!

 has some interesting things to say about the verbosity of Java.

…there is little doubt that the Java language suffers from a poor character-to-instruction ratio. I call this property "expressiveness"—in other words, the number of keys you must press in order to accomplish a simple task. This number is pretty large in Java.

…many new languages are designed with the problem of expressiveness in mind…. They have achieved remarkable results….

What's interesting is that these languages are solving the verbosity problem, but they're attacking it by improving writability, not necessarily readability.

Check it out.

Posted in Ephemera | Tagged , | Leave a comment

ExpandoMetaClass is now in session

In part 1 of his mini-sub-series on functional features of Groovy, Neal Ford explored functional features of Groovy. Now he continues with Functional thinking: Functional features in Groovy, Part 2, an exploration of metaprogramming.

Posted in JVM languages | Tagged , | Leave a comment

Million Steps Revisited

Following up on yesterday's news/leak/kerfuffle, Coda Hale offers Yammer's official position on Scala: http://eng.yammer.com/blog/2011/11/30/scala-at-yammer.html

Posted in JVM languages | Tagged , | Leave a comment

Scala to Java in a million easy steps

From the Dose of Reality Department, here's a detailed explanation, apparently from Yammer, of why Yammer is dumping Scala and embracing Java.

"Dumping" is too harsh. They'll still stay friends and keep in touch.

Update: Turns out this is a leak of a communication that wasn't intended to represent Yammer. Here's an explanation from the author, Coda Hale. And here's a thoughtful response to the incident from Alex Miller.

Posted in JVM languages | Tagged , | Leave a comment

The Lion lies down with the Lambda

Neal Ford's series (OneTwoThree, Four, Five) continues to put the "fun" in functionalism. His part six, Functional thinking: Coupling and composition, Part 2, is a sequel to the subseries started in part five. Because they're composed, he presented these parts uncoupled from one another and the rest of the series. Kind of poetic.

In part seven, Ford inaugurates another subseries: Functional thinking: Functional features in Groovy, Part 1. And there's no telling how many parts this one will comprise. Mystery! Intrigue!

Posted in JVM languages | Tagged , , | Leave a comment

Steve Jobs and Machine Beauty

With the Facebook Timeline just around the corner, and with Steve Jobs shuffling off this mortal coil, I'd like to consider what makes some technologies so different, so appealing.

Last night I asked my art history students what was distinctive about the contribution of Steve Jobs. A few compared him to inventors such as Edison or Tesla. A few looked for an answer in his emphasis on design. I joined the second group and challenged the first by pointing out (as The Economist had already done with great clarity) that Jobs had invented none of the technologies or devices for which he's best known: the mouse-driven computer, the digital audio player, the smart phone, and the tablet. But I also pressed that second group with a follow-up question: if his contribution had to do with design, not invention, then just what was the nature of his contribution to design?

The ensuing discussion was brief and stimulating. After the students had shared their views, I shared mine: I think Steve Jobs emphasized machine beauty with such focus and force that he made the artificiality of devices disappear. Calling him "The Magician", The Economist ascribes to him the ability to connect emotion to technology:

"His great achievement was to combine an emotional spark with computer technology, and make the resulting product feel personal."

Almost. It is the relationship we have with ourselves and our own capabilities that is emotional and personal; Jobs introduced into this already extant feedback loop a device which amplifies our self-signal without getting in our way. Rather than wallow in the narcissism of self-admiration as we see our latent powers amplified, we call the device itself cool. But whenever we call a device cool, what we mean is that it can easily make us more powerful in a way we desire. And that's cool.

What is machine beauty? The clearest and most useful answer to this question comes from David Gelernter (innovator and former patent-holder of the Lifestream technology, which has been at the center of consequential litigation involving Apple). Many stakeholders have by now laid claim to this concept, and perhaps we'll have a post here someday on the idiocy of many software patents, the Peter/Paul problems in patent granting, and the incoherence of the very idea of a software patent. For now, though, I want to bracket out the question of Apple's possible employment of Microsoftian market practices. Gelernter is noteworthy here not just because of his technological innovation, but also because he thinks deeply about the usability of machines, about art, and about beauty.

In his terse, punchy book Machine Beauty, Gelernter proposes a simple definition of the factor that distinguishes great technologies: machine beauty is the well-balanced integration of simplicity and power. Consider technologies that consists of devices. A device may be powerful but not simple; it requires the user to learn, study, and practice. A device may be simple but not powerful; it's hardly worthy of attention, so weak is the signal it delivers. And a device may be neither. But the device that manages to empower the user with virtually no learning curve is machine-beautiful.

The iPhone exemplifies this delicate balance. One day there was no iPhone; the next day there was an iPhone. And on that next day, children and elders, techies and Luddites, the deft and the daft— these were all standing around Apple Store displays and using the iPhone, with no instruction, to do things they wanted to do that they had previously been unable to do so efficiently, transparently, and enjoyably. Machine beauty.

Here, then, is a third question: why do we value technologies that are machine-beautiful?

I think it's easier to frame an answer to this question if we think about technologies in the way I recommended in my earlier post on Rodin's The Burghers of Calais:

I prefer to emphasize that technology always stands in a certain relation to the people who use it: technology is anything that amplifies what the human body can already do. A club amplifies the ability to punch. A gun amplifies the ability to throw. A telephone amplifies the ability to shout. A motor vehicle amplifies the ability to run. Clothing amplifies the protective and insulating qualities of skin. Architecture, oddly enough, is large, static, communal clothing. Telecast media amplify vision or audition. The hard drive and RAM of a computer amplify the ability to remember and to calculate. And so on.

Any technology may be understood this way, and therefore anything that acts as a force multiplier on what humans in general can already do may be construed as a technology.

If we take technology in general as any means of converting our existing capabilities into superpowers, then the appeal of a machine-beautiful device is immediately apparent: the power of the device makes us harder, better, faster, stronger, and the simplicity of the device spares us from having to think too much about the device itself. The technology is a nearly transparent biomodification that empowers us to do with facility from now on what we could do only at great pains before.

The distinctive contribution of Steve Jobs, as I see it, is that he created a post-now class of consumer citizens: the Cybourgeoisie.

Posted in Ephemera | Tagged , | Leave a comment

Steve Jobs (1955-2011)

BoingBoing says it right:

Posted in Releases | Tagged | Leave a comment

Marian Call

I'm profiling indie singer-songwriter Marian Call over at Popehat.

Posted in Ephemera | Tagged | Leave a comment

Sew, very old one. Sew like the wind!

Steven Haines of GeekCap has something to say about the subtleties of high-performance threading.

Posted in Ephemera | Tagged | Leave a comment