Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
3 days left to pledge for Python in Light Table (kickstarter.com)
55 points by trueduke on May 29, 2012 | hide | past | favorite | 29 comments


The funding model for this project is silly.

So for $50 you get a license for this product. What does it cost to generate a license key or send someone an executable? Near zero? They keep like $49.98 at this tier.

For $30 you get a t-shirt. Cost to the developer? I don't know. Lets say the t-shirt costs $10. Plus the design time. Plus the prep, making sure people get the right sizes and postage time * (105 + 208). Probably making a loss at this tier.

You then have the licenses. $200 gets you 2 licenses. Wha? $500 gets you 4!? of course the benefit of the $500 is being admitted into the buggy alpha testing phase. Great..

I think they probably would have raised 300k with better tiers.

I also wonder about this Python promise. If I was a Python developer and it failed to hit 300k I might consider withholding my donation. I mean why not? I want Python support. I donate to that end. The project doesn't make it to Python support. I should remove my donation as I am not getting the product I donated to.

This kind of fund raising seems to fly in the face of what Kickstarter is about.


As Joel Spolsky points out, you might value a t-shirt at $10 because it costs $10 at The Gap. But it actually costs closer to $1. Giving away free t-shirts is basically a no-brainer in promotional terms.


Where are you getting custom tshirts made for $1? Lets also not forget about shipping and handling (time is money).


The numbers aren't exact (I doubt Gap sells a t-shirt for less than $30 these days) but the point is: promotional merchandise works because it's actually worth a lot less than you think it is.

One guy I know in catering likes to bet that someone can't eat £1 worth of food. He's paying 2p for an egg and 1p for a rasher of bacon at wholesale rates...


If you want to make a shirt that people will wear, e.g. high-quality silkscreen on an American Apparel shirt, then it costs closer to $25. Even if you can make a shirt for a dollar, you're basically just throwing away that dollar.



Let's be real. If Python will be supported at $300K, then Python will be supported at $273K.


Oh sure, but the $300k gets it supported out of the gate, not "whenever we get round to it".

I am a Python user who pledged with that in mind. Never got into Clojure (and OCaml or Haskell support I suspect isn't high on the priority list!).


I see what you did here


Am I the only one who think Light Table won't work for Python?

I mean, look at all those getattr() setattr() stuff. LightTable doesn't stand a chance. Even dealing with some very primitive Django models.


The first 80% of getting that working is surprisingly easy; the last 80% is surprisingly hard.

I programmed in Smalltalk for years. Smalltalk has similar issues: dynamic typing, dynamic method generation/handling via #doesNotUnderstand:, and so on. Yet quite a few Smalltalk environments have accurate and useful autocompletion, on-the-fly documentation, and more.

How? You get three freebies that end up covering most situations:

  1.  Globals (which includes classes) are trivial to detect and centrally stored,
      making it easy to pick up when a class is used in source code.  So we've
      now got autocomplete for all static methods and class documentation.
  2.  Most of the time, a variable is only actually assigned to once--or,
      worst case, from one location.  After that, it's merely manipulated.
      See what class is getting instantiated there (see above), and you've got
      a great guess on what type you're dealing with.  (And, sadly, it's a
      guess; "Foo new" *probably* gives you a new Foo, but it doesn't have to.)
  3.  Most methods *either* only get implemented once, *or* specialize a
      method whose parent calls "self subclassResponsibility".  So either
      you've only got a single place to look-up, or you can hedge your bets
      and show documentation for the version of the method that calls
      "self subclassResponsibility" (i.e., the abstract one) and figure it's 
      applicable to the concrete instance.
These three rules (which can obviously be combined) end up working a surprisingly large amount of the time, and they're not ridiculous to implement. Granted, Python has a harder time here in some cases (e.g., you have to parse all accessible Python modules to build up a constructor list, and you'll likely have higher method collisions in Python than in Smalltalk due to the lack of keyword-based messaging), but these techniques will go a long way to getting you where you need to go.

Past that? Things get really hard. Because Smalltalk's development and execution cycle is blurry, you can actually go further than the above rules by checking what types variables are in instantiated classes and methods, and turning your source-based guesses into statistics-based ones. There's no equivalent mechanism in Python. You could probably do something with an idempotent test suite and some hooks into the Python VM, but the problem gets much more complicated. Doable? Yes. Likely to come from Light Table? I'm not honestly sure, but I am sure that they'd have to be willing to get pretty dirty with Python to get there.


I haven't used PyCharm a whole lot, but a friend of mine raves about it constantly. They've apparently added heuristics for Django (and other frameworks), so that it can make assumptions about the layout and behaviour of the code. See a render() call? You can click on the path and have it open the template correctly, even though that normally has to go through the TEMPLATE_LOADERS machinery.

You can get a long way by being slightly smart about things, instead of just relying on a naive static analysis. (I mean "naive" in the sense of ... well, not in the insulting sense :P)


We're all computer scientists here, but you're right, using terms like "naive" and "trivial" is often open to misunderstanding.


It's certainly an open question, if what you gain from dynamic languages, is more or less than what you lose from having no static analysis. I got into OCaml initially because I wanted a statically-typed, type-inferred Python...


Has there been any official answer to this? I've been trying to hold to Hanlon's Razor, but it's been hard :S


Interesting: considering the tone of the YC announcement post I had assumed that funding via Kickstarter was put on the back burner. In particular I'm surprised that support for a given language would hinge on a funding goal therein! So a number of questions come to mind: Wasn't Chris offering to return Kickstarter donations? What will happen if some people take him up on that offer after the funding period has closed? Perhaps Python support should be based off a different metric now that Chris is guaranteed funding via YC?


If I recall correctly, when Light Table was accepted into YC, Chris sent out an e-mail saying that Light Table was now guaranteed to happen and that if the only reason you donated was to make sure the project went through, you can feel free to retract the pledge (no money is withdrawn until the actual end date).

He also mentioned that with YC backing Python support was likely to happen sooner or later, but the $300k mark still puts Python in the "sooner" bucket.


By reading the Kickstarters comments I sense that the most of money came from Python supporters. It would really suck if it falls short by 10K.


I like a lot of Chris's projects, and clearly the community loves this one, but I don't yet understand whether this is open-source? I'm not sure that the language in the FAQ really means anything; at worst, it sounds deceptive.

I'm fundamentally very skeptical of an editor which I don't know that I'll be able to look inside of, hack on, extend, or fix. Given how the editor is at the center of most everything I do on a computer, all those pay-software fears are magnified for me.

Obviously 50,000,000 TextMate fans can't be wrong about paying for an editor, either, but this is a project I don't know that I can support.


Given all the demand for python support in Light table, I wouldn't be surprised if some else is already working on it.


At least the latest demos posted include some Python examples, like: http://www.chris-granger.com/images/lightable/flask-routes.p...


Are their goals still the same considering that they have been accepted into YC?

That is, are they still looking for 300k in Kickstarter funds before supporting Python etc?


On a previous post made after getting into YC (http://news.ycombinator.com/item?id=3992581) they said:

>We're sticking with our goal on Kickstarter - if we hit 300k we'll definitely do it. There's a decent chance we will either way though.


I really don't like the way the funding model has gone for this project. It started simply enough, but now I really have to keep up on news to figure out what the state of play is. What next, $400k for Ruby support?


What smells bad to me is the ever increasing hype and pricetag around the thus vaporware product that is really just a bag of features that should be added to a strong and stable IDE like Eclipse with PyDev/JDT/etc. People are getting so excited by the iPhoto-pretty screenshots, and forgetting the dozens of other features they benefit from in an IDE.


If you don't support languages that people actually use, you're going to run out of money as they won't give a shit about your little toy IDE.

What's going to be the $400K mark?

Brainfuck?


"... While I can put together a prototype on my own, I certainly can't build an entire IDE in any reasonable amount of time by myself. The more money we get, the larger the team I can put together to turn this thing into a reality. ..."

The lack of money didn't stop the Linux kernel or GNU.


Are you seriously saying that Linux would be where it is now, or even be a usable OS at all, if Linus hadn't been paid to work on it for the last 15+ years, and if there had been no money from RedHat, IBM, Google and all the other companies that have contributed over the years? Please. If there hadn't, it would be like HURD - properly flat-lined for all practical intents and purposes.


It stopped the gazillions of other attempts that failed to achieve critical mass.

Not a probability of success I'd be fine with if I wanted Python support in Light Table.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: