HNHacker News
TopNewBestAskShowJobs

ibdknox

8,390 karma · joined September 5, 2010

Previously co-founder of Eve and Light Table. YC alum. Ex-Microsoft Program Manager for C# and VB in Visual Studio and head of product at Relational AI.

http://chris-granger.com http://www.witheve.com http://www.lighttable.com

submissionscomments
ibdknox··on The Future of Programming
I'll look into it - that's likely to be a very busy time so I can't commit right at the moment.
ibdknox··on The Future of Programming
> hopefully it involves a new programming model to make the problem more well defined

That's exactly what I'm up to :)

ibdknox··on The Future of Programming
I actually have a post about data-centricity in games, though from a very different angle. http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockou...
ibdknox··on The Future of Programming
Haha it sucks actually - I love talking about this stuff, but I know I really need to save it for my talk so I'm tearing myself to pieces trying to keep quiet.

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. :)

ibdknox··on The Future of Programming
FWIW, after the talk I'll likely end up putting up a big thing about it on the internet somewhere. :)
ibdknox··on The Future of Programming
It's a fun talk by Bret and I think he echoes a lot of the murmurings that have been going around the community lately. It's funny that he latched onto some of the same core tenants we've been kicking around, but from a very different angle. I started with gathering data on what makes programming hard, he looked at history to see what made programming different. It's a neat approach and this talk laid a good conceptual foundation for the next step: coming up with a solution.

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

ibdknox··on ClojureScript Core.async Todos
You get CLJS eval in Light Table :) Open a cljs file, open a browser, point it to a page that has the initial output of a leincljsbuild run, and press cmd+enter (or ctrl+enter) in your file.
ibdknox··on A preview of LightTable 0.5
Initially it will likely be easier to write plugins in ClojureScript, but there's nothing preventing JS ones from being written. Before the plugin stuff goes completely public, I'll probably write a little JS shim layer that makes it a bit more natural.
ibdknox··on A preview of LightTable 0.5
Should be in there. :)
ibdknox··on A preview of LightTable 0.5
Fipp is awesome and I'd love to use it, but there doesn't appear to be a clojurescript implementation of finger trees and last I knew he hadn't solved the print-length/depth problem either.
ibdknox··on A preview of LightTable 0.5
See my "The IDE as a value" post which gives a good overview of how it all works: http://www.chris-granger.com/2013/01/24/the-ide-as-data/

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.

ibdknox··on A preview of LightTable 0.5
I tried the alternatives and they were fundamentally unworkable. The cost here wasn't that great, mostly it was a matter of figuring out the least bad solution to the problem. Compared to the issues I ran into with java-based integrations, this really was of negligible cost.
ibdknox··on A preview of LightTable 0.5
I'm not sure I'll do it, but that's my answer for almost everything at this point. Ultimately this is why I'm taking the strategy I am - plugins will be able to do anything I can do quickly and efficiently. Integrating a step-wise debugger won't be a completely trivial amount of work, but I'd be surprised if it took more than a few days and it's something anyone should be able to do :)

After 0.5, my goal is to remove us as a bottleneck as quickly as possible and then who knows what'll happen :D

ibdknox··on A preview of LightTable 0.5
because I wanted to use html/css as the UI toolkit and utilizing JS gives me a bunch of stuff for "free." I looked into using javafx and various other java-y things that embed webkit but they are painfully slow, to the point where it wasn't practical to even try using them.
ibdknox··on A preview of LightTable 0.5
It's something I was going to work on for 0.5. I do a fair number of things to make lazy seqs not blow everything up and pprinting will force lazy seqs to be realized causing all sorts of nastiness. There may be some decent middle ground in there somewhere though.
ibdknox··on A preview of LightTable 0.5
There are places where it'd be useful, no doubt about that. Mainly it will be really useful in the cases where you want to ask a client something "synchronously". For example it'll make doing things like asking a language client where function boundaries are much nicer than the way I was going to have to do it before (waiting for events to be triggered async-style).
ibdknox··on A preview of LightTable 0.5
I can't do any kind of IO in a webworker, which means things like indexing the filesystem are impossible there. The vast majority of cases where I need to do background work I also need access to the host.

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.

ibdknox··on A preview of LightTable 0.5
Here's a video of the coolest new feature, "watches": https://www.youtube.com/watch?v=d8-b6QEN-rk

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.

ibdknox··on Yahoo Acquires Xobni
After $42M in investment, yeah.
ibdknox··on Startup Investing Trends
VC's won't invest in competitors - how would you give advice/counsel? It would cause all sorts of weird dynamics in the firm (e.g. partners competing) that are likely to be pretty detrimental.

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).

ibdknox··on Startup Investing Trends
The building is pretty plain in an off-the-beaten-path location that you could easily miss. I think "nondescript" is a pretty good adjective for it.
ibdknox··on Startup Investing Trends
> Why doesn't Paul Graham start this mythical founders first VC firm?

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.

ibdknox··on Paul Graham: Some VCs Push For Large Rounds, Even When Startups Don't Need Them
Or stated even more precisely, the mean and median are very different :)
ibdknox··on Our web development workflow is completely broken
What is missing for you that makes it "incomplete"? We're always trying to make sure we have the necessities taken care of and I'm happy to say quite a lot of people are doing their work in LT these days - so if there's stuff we're missing that keeps you away entirely, it helps us to hear about it!
ibdknox··on Our web development workflow is completely broken
> aiming away from my requirements

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.

ibdknox··on Announcing Microsoft Ventures for startups
Out of curiosity, what was the name of your company?
ibdknox··on Letter To A Young Programmer Considering A Startup
I guess you could make the million monkeys argument, but that's just playing with the law of large numbers. The original statement was intended to apply to a single person or at most a small number of individuals.

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.

ibdknox··on Letter To A Young Programmer Considering A Startup
The word "formula" is very important in his statement - yes we have techniques for coming up with new ideas, but we do not have a formula for it. A formula produces a consistent and reproducible result. If we actually had such a thing it'd be the real-life equivalent of a magic lamp; make a wish for a new idea about x and out it comes.

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.

ibdknox··on Cancer and Startups
I apologize if my post implies I believe we're out curing cancer - we're not and that was not my intent. If you point out to me where I've somehow stated that, I'll be happy to fix it.

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.

ibdknox··on Cancer and Startups
I talk specifically about being a doctor only because that was my personal path. My argument was generally meant to apply to anyone with more direct influence over someone's well-being, so nurses, EMTs, hospital staff, pharmacists, researchers, and everything in between could certainly be swapped in any time I used "doctor."
← PreviousPage 7 of 17Next →