I’ve been working on an experiment, Hotdish, for several weeks now with Aaron Druck and Gregg Lind. I’m really excited about what we’re doing, and in particular I’m excited about some of the principles we are bringing to the design. Hotdish is an experiment in sharing …
All articles
Hubot, Chat, The Web, and Working in the Open
I was listening to a podcast with some people from GitHub and I was struck by Hubot.
My understanding of what they are doing: Hubot is a chat bot — in this case it hangs out in Campfire chat rooms, but it could equally be an IRC bot. It started out …
Saying Goodbye To Python
This post is long overdue; this isn’t a declaration of intent (any intent was long ago made real), just my reflection about my own path. I left the Python world a long time ago but I never took a chance to say goodbye.
While I had moved on from …
Live Programming, Walkabout.js
There’s a number of “live programming” environments used for education. Khan Academy is one example. In it, you write code on the left hand side, and you immediately see the result on the right hand side. You don’t hit “save” or “run” — it’s just always running.
There …
Nouning the Verb of Browsing
I was talking for a while with Gregg Lind about TogetherJS and about all the ways it could and should be cool, if we keep building out this idea. Both to build out TogetherJS, but also the general area of cobrowsing (cobrowsing is where two or more people can browse …
The Order of Payment And Consumption Drives Content
Economics: incentives incentives incentives. I don’t know if I quite buy it, but it’s still a good lens for understanding why the market contains what it does.
I was reminded of those incentives when reading The Jenna Marbles Paradox: Why Are YouTube Videos So Terrible? The basic premise …
TogetherJS as a Postmodern Programming Tool
One of the papers that I continue to refer to in my own thinking about technology is Notes on Postmodern Programming. Martin Fowler has a short summary:
The essence of it (at least for me) is that software development has long had a modernist viewpoint that admirable software systems are …
Why Isn’t Programming Futuristic
If you think someone is asking a rhetorical question, it is usually most interesting to treat it as though it is a legitimate question. Especially if we’re talking about something hard — driving down to underlying assumptions through this questioning process is interesting.
Applying this to Bret Victor’s talk …
The overuse of functions
A programming quandry (related to some thoughts I’ve had on locality):
The prevailing wisdom says that you should keep your functions small and concise, refactoring and extracting functions as necessary. But this hurts the locality of expectations that I have been thinking about. Consider:
function updateUserStatus(user) { if (user …
“new” Only Makes Javascript OO Harder
Javascript objects and classes aren’t hard. This whole “prototype” thing is blamed for too much: prototype-based programming isn’t hard.
this
is really weird, but prototypes aren’t.What’s prototype-based programming? It just means every object has a “prototype” and when you look up a property on the …