8,390 karma · joined September 5, 2010
http://chris-granger.com http://www.witheve.com http://www.lighttable.com
That's exactly what I'm up to :)
I guess one thing I will say is that our definition of programming is all over the place right now and that in order for us to get anywhere we need to scale it back to something that simplifies what it means to program. We're bogged down in so much incidental complexity that the definitions I hear from people are convoluted messes that have literally nothing to do with solving problems. That's a bad sign.
My thesis is that given the right definition all of the sudden things magically "just work" and you can use it to start cleaning up the mess. Without giving too much away I'll say that it has to do with focusing on data. :)
In my case, my work on Light Table has certainly proven at least one thing: what we have now is very far from where we could be. Programming is broken and I've finally come to an understanding of how we can categorize and systematically address that brokeness. If these ideas interest you, I highly encourage you to come to my StrangeLoop talk. I'll be presenting that next step forward: what a system like this would look like and what it can really do for us.
These are exciting times and I've never been as stoked as I am for what's coming, probably much sooner than people think.
EDIT: Here's the link to the talk https://thestrangeloop.com/sessions/tbd--11
It's all ClojureScript all the time :) Clojure is only used for evaling Clojure and doing languagy things. Not much has changed since the above post except that behaviors are now added to tags outside of code in .behaviors files.
After 0.5, my goal is to remove us as a bottleneck as quickly as possible and then who knows what'll happen :D
EDIT: I should note that I did start with webworkers for things like auto-complete, but what I'm doing now (spinning up another instance of node) is a lot more powerful and robust. As scary and sad as that may be.
I'm also really excited about the behaviors stuff. It means that the entirety of LT's functionality is described in a datastructure that you could reasonably modify by hand. Here's a gist of default.behaviors: https://gist.github.com/ibdknox/6010853 The :+ is there because it's stored as a diff, which allows other behaviors files to add and remove functionality based on the order they're loaded.
In terms of why YC can get away with this, companies are so early that it's not clear what they will ultimately be doing in the end. Many of the internal competitors ended up that way by accident. Moreover, YC doesn't make singular large bets, while later stage investors do. As a result, they aren't nearly as diversified as YC is and so a duplicate represents a much greater overall risk (essentially guaranteeing a loss before you even start).
My question is why would he? I can only come up with two reasons: 1) more money 2) a sense of altruism (we have to help startups succeed even more!)
In terms of the first, YC seems to be doing pretty darn well by the numbers, how much more money do you need? The second is nice in theory, but I wonder if it would actually have a negative effect.
The value provided by an early investor and a later stage investor is different in the same way that young companies need very different things than they do later in life. In the beginning what companies need is largely the same, and so advice and such can scale relatively cleanly (as YC has shown). As you grow, though, what is needed more and more is specific, individual advice - the answer won't always be the simple "don't die".
There's no question that YC (and PG himself) represents one of the most authoritative sources of information on early stage investments, but it's not clear if that will directly translate as companies progress. If not, he'd essentially have to start over, refiguring out what it means to succeed and who knows, maybe he wouldn't be any good at it. Either way, if you tried to master both, I think one of two things would happen: you'd either lose your grip and be good at neither, or you'll "succeed" with the end result being homogeny. You'll seed companies and direct them into being what you want them to be for the next fund. That kind of "vertical integration" easily leads to a rules oriented echo chamber - the exact kind of stagnation that lets some scrappy "startup" come in and eat your lunch.
Could he do it and make it work? If anyone could, I'd bet on him, but I actually think there's value in having YC stay at the stage they are. It's better to have multiple forces at work, pushing and pulling against each other.
Out of curiosity, what are your requirements?
It's hard for me to imagine that LT is really aiming away from anyone :) It's a platform for building whatever workflow you could want, integrated with any system/language/service you can find. That particular aspect of it hasn't been released quite yet, but it will be the major focus of the beta.
Even beyond that though, I'm not sure that "ask for ideas" (which is all the RFS is) could really be construed as a formula for creativity. It's a mechanism for surfacing creativity that springs from elsewhere.
You'd have to ask PG whether or not the RFS stuff has really been that helpful. From my experience in YC, the most "successful" companies had nothing to do with the RFSs.
The reality of the situation is far too messy for such a clean solution to exist. There are an infinite number of variables, biases, and contexts that foster or hinder "creativity" and the very notion of "rebellion" is defined entirely by context. So while we may have techniques that increase our chances of coming up with new ideas, we're no where near a factory for real creativity.
EDIT: I define real creativity as "reasoned new ideas" - it's trivial to write a formula for combining things randomly, but I don't think anyone here would argue that as actual creativity.
That being said, I'm not sure I agree with your argument. Both indirect and direct means are ultimately necessary for any serious change or innovation. By your logic, a microscope is just an item that lets you see things up close. Now imagine a world without it. We'd certainly be hard-pressed to do much in the medical field. Tools, by definition, enable us to do something we couldn't do before or increase the efficiency of something we did have the ability to do. Without advancements in tools, we won't get very far.
If a new "text editor" ends up providing us a much more efficient means of creating things like Watson, in what way is that not just as important as curing any one disease? The argument is certainly not that one case is better than the other, just that I've decided to go down a different path, one that I believe is just as important. I can fix 100% of something or increase everything by 1% - I believe the latter is the best thing I can do at this point.