Thomas Lord over on LtU:

We should recognize, therefore, that the "Open Source" narrative was invented for a specific economic and political purpose. A handful of firms and a lot of money wanted to *use* publicly licensed source code and the labor of volunteers, but wanted to *thwart* the goal of giving all software users personal freedom. For that purpose, it would not do to have a charasmatic figurehead (love RMS or hate him) defining the branding term "free software". Just as RMS could embarrass Gosling or expose the lie in Cygnus' problems, RMS and the FSF - left unmolested - could have organized volunteers to eliminate any need for companies like VA Research and Red Hat. Rather than let this happen, "Open Source" was invented (and the OSI chartered), as a kind of "hostile rebranding".


Dave Winer: Tech note -- the first piece was written on a WordPress site, the second on a Tumblr site and the third on my Posterous. My authoring tools let me write for all these platforms, in exactly the same way.


El Reg:

Google hadn't even warned devs that a new version was on the way - unless you count a Youtube video of giant eclair.
This has been a pretty good week for getting things to work together.Dave Winer


Looks like I got some catching up to do...

Or, I could just wait until the dust settles.


If you long for the time when programmers were programmers and wrote their own network stacks, take a look at content-centric networking:

A New Way to Look at Networking from PARCinc on Vimeo.



Every time I hear the phrase "Web of Data", I'm reminded of this quote by Henry Baker:
Because "algebraic relation theory" was much more respectible than "data processing", database theoreticians could now get tenure at respectible schools whose names did not sound like the "Control Data Institute".
Salesforce Chatter looks like it could actually be useful...

One of the reasons is that Chatter features hypermedia, as opposed to Wave, which lives in its silly pre-Web email world.


I believe that software design especially the design of interactive software, is literally a branch of filmmaking. No body has discovered that yet. Movies are events on a screen that affect the heart and mind of the viewer. Inter-active software are events on a screen that affect the heart and mind of the viewer, and interact. Also, they may have some side effect in terms of data. The interaction with the heart and mind may very well be the primary.Ted Nelson
Bruno Pedro:
I'd say that RSS *is already* the basis for an open distributed version of twitter, facebook and so on.

So, what's missing here? Simple: someone please create a feed reader where I can also directly publish to my blog. Better yet, WordPress.org or any other blogging tool could have an embedded feed reader.

What would happen if we already had that? Well, I could be reading this post on my feed reader (aka distributed twitter) and then I could directly write a post on my blog replying to this post (aka distributed retweet or reply).
Grab on to something that's moving pretty fast. Let yourself be carried on when you're in the right place at the right time. Dennis Ritchie

Don't collaborate, communicate

I think collaboration is a flawed metaphor for getting actual work done, as opposed to the kind of activity people are paid to do in offices.

For the office stuff, a "collaboration tool" like Wave might be a good tool. You can create a hidden conversation and chat with your loser peers about the sociopaths and clueless.

But in my experience, actual work happens almost exclusively offline, intuitively, in the back of the mind, on scraps of paper with coffee or bourbon stains.

Once you get results from that kind of work, you don't want to collaborate, you want to communicate.


Jeff Bone:
If you provide some binding / embedding to Tk and you think that's
sufficient to satisfy your GUI needs, then IT'S A NON-STARTER! If you
DO NOT provide a CANONICAL cross-platform GUI toolkit, IT'S A NON-

If it's more than 5 readable lines to produce a "hello, world" web
server --- NON STARTER!

If sending an e-mail isn't a one-liner --- NON STARTER!

Getting a web page or making a simple http post > 1 line --- NON

Figuring out the number of days between two dates > 1 line --- NON
Alan Perlis:
When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.
If there's going to be a war for the web, fine, I already know what I'll do. I'll build the refugee camps. They will be very nice. Hiltons. You can have a beautiful ocean view or a view of the battlefield.

We'll all take pictures from our balcony.
Dave Winer

Break out in dance

The Blackeyed Peas compel the employees at the Microsoft Store in Mission Viejo, California to break out in dance, let their hair down and have some fun. This is an amazing store, the employees seem really excited and engaged, almost happy to be at work.

(via Paul Watson)


Unix in 14 lines of Ruby (it's trivial)

Anyone under 17 knows that Ruby is so extremely dynamic, that Google's complete Map.Reduce framework can be implemented in one line of code:
(Note the expressive and elegant object-orientedness that lies at the core of Ruby's efficient syntax...)

But now R is giving Ruby a run for it's money: Map/Reduce has been ported to R with just one line of code, too!

So clearly, we need to raise the bar here: I will show you how to implement Unix in a couple of lines of Ruby.

Yes, you heard that right. Ruby is so elegant and dynamic, that Unix takes just a couple of lines of code. Take that, C.

Other languages, like LISP, have lambdas and closures, but Ruby not only has these, but also continuations, blocks, procs, scopes, dos, and bacon! Mmmmh, bacon. (And btw, Ruby can implement Common LISP in a couple of lines.)

(There are a lot of articles that explain the differences between these, but as of Ruby 2.1.003m the schemantics of most of these have changed slightly, so the articles are out of date. As a rule of thumb: a continuation is a block that has been captured inside a scope where a do is in effect, and cannot be passed to a proc, only to a lambda. It's really quite simple. Matz has recently proposed a ten-year moratorium on Ruby development, so that we'll finally be able to understand all these.)

So here it is!

A sample run of this Unix for you're pleasure:
You have no mail.
$ uname
Runix 1.0
$ halt
All it takes to implement Unix in Ruby is 14 lines of elegant code.

It doesn't do processes yet, and it has no filesystem, but apart from that, it's a fairly complete Unix.

Ruby is a butterfly.