6 ms·
Bret Victor's live editable game in ClojureScript
- zackzackzack 15y agoApplying this to more than just games, you could probably make a really good tool for mathematical modeling of physical situations. Speed would be an issue, but it would be a good way to test out ideas quickly.
- asolove 15y agoThis idea is the subject of Bret's essay "Up and down the ladder of abstraction" [1] which is a fantastic read. [1] http://worrydream.com/LadderOfAbstraction/ http://worrydream.com/LadderOfAbstraction/
- zackzackzack 15y agoI remember geeking out to that when it came out! Since reading that I have been playing around with d3 a good deal to try and be able to make some of the stuff he has. I've been slaving away at this for the past few days actually: http://zacharymaril.com/analytics/ http://zacharymaril.com/analytics/ This afternoon, I will put up a better version (this one won't work for you due to some figuration stuff), but this takes in your google analytics data and maps it a bit better than the normal set up.
- deleted 15y ago[deleted]
- jisaacstone 15y agoAwesome and Awesome. Looks like today is the day that I learn clojure! ^^
- Tim-Boss 15y agoI haven't quite yet recovered from a weekend of sleep deprivation, and was entirely disappointed to learn that the link was for an "editable game", not an "edible game"...
- nodemaker 15y agoBret's talk has the potential to transform lives. But anyone has any idea how to do something like that on iOS/Xcode?
- etcet 15y agoThis is really cool. One problem I've noticed with real time evaluation is infinite loops. I've played with an realtime javascript editor/evaluator and I inadvertently locked the browser (and the editor) when writing code. Imagine writing a "while (true)" loop and it evaluates before you've finished the break condition.
- deniska 15y agoIf simulation runs (and it should) in the different thread, then nothing bad happens.
- amasad 15y agoClojureScript compiler being written in Clojure is a huge disadvantage. It should be written in JavaSript or ideally self-hosting. That way for this project you wouldn't need the server and when its hosted somewhere there is no need to the compile round-trip each time the code changes. Also as a plus you'd have eval!
- swannodette 15y agoself-hosting only gets you bragging rights and neat demos - it offers little advantage for real applications targeting JavaScript. That said, ClojureScript now implements most of Clojure - if someone wanted to bootstrap ClojureScript for fun it wouldn't be much work, go for it.
- amasad 15y ago"I didn't put it up on heroku because the latency kills the real-time aspect of it." There is your advantage, if it was self-hosting then this wouldn't be an issue.
- swannodette 15y agoAdvantage for a beautiful demo. If I'm going to actually build real applications in this way, I don't need to run my development environment on someone else's website.
- amasad 15y agoMaybe you don't but many people do prefer coding on the web. There is some very good web IDEs out there. e.x. http://c9.io/ http://c9.io/ Also you haven't mentioned eval anywhere in your argument. Don't you think a lisp should have an eval?
- swannodette 15y agoIf people want to code on the web that's great. If someone wants to provide a bootstrapped in-browser ClojureScript development experience, that's great too. I just don't buy your claim that ClojureScript's strategy is a disadvantage. eval is fantastic - the power of connecting to server-side REPLs comes to mind. However given ClojureScript's clientside focus the lack of the compiler infrastructure on clients (to provide support for eval) is less problematic in my opinion. But you might disagree - and no one's stopping you from addressing the issue.
- brown9-2 15y agoDo you guys think Bret Victor built an actual editor for his "live editing" demo, or just build enough of a demo to illustrate his principle? It seems to me that if what he had built was a real editor (i.e. could be used for more than just his Braid demo game), there would be immense value in releasing/selling it.
- grinich 15y agoSometimes the seed of an idea is more important to get right than the finished product.
- BrainScraps 15y agoSuch a man of mystery, this Bret Victor is!
- vdm 15y agoReply: https://twitter.com/worrydream/status/174204355220738048 https://twitter.com/worrydream/status/174204355220738048
- robbrit 15y agoOne of the students asked this during the Q&A period at the end of the talk, he said it was just some Javascript and HTML cooked up to do just the things that he showed. So it wasn't a real demo, only something he whipped up to demonstrate the ideas but wouldn't be available to use for actual coding.
- merengue 15y agoCheck Victor's javascript library: Tangle. http://worrydream.com/Tangle/ http://worrydream.com/Tangle/
- Gotttzsche 15y agohmm, when you unpause, the player just falls straight down rather, ignoring the velocity it should have. also, in the talk the player's path was projected into the future, iirc, not just showing the past
- ibdknox 15y agoHe rolled the player back, so it wasn't projected into the future, it was just he adjusted the current position backwards. you fall straight down because your velocity is dependent on whether or not you have the key pressed. Jump and let go of the arrow.
- bjconlan 15y agoWow that is a great example! Kudos Chris. I would also like to point some of the commenters to (fluxus) http://www.pawfal.org/fluxus/ http://www.pawfal.org/fluxus/. It is a very nice example of this concept of the same thing, only using racket/plt scheme. Live coding/reactive code are fantastic little ideas which I wish had been exposed to me earlier in my career.
- gncvalente74 15y agoamazing !
- ibdknox 15y agoI just added a downloadable jar for it as well: https://github.com/ibdknox/live-cljs/downloads https://github.com/ibdknox/live-cljs/downloads java -jar live-cljs.jar
- nileshtrivedi 15y agoAfter I saw this talk, I thought about what it would take for making such an editor for general-purpose programming (and not just drawing or simulations). I came up with this basic UI concept: http://livecoding.staticloud.com/ http://livecoding.staticloud.com/
- vdm 15y agoThat's exactly what I had in mind for running tests, I think you're definitely on the right track. Great work!
- recurve7 15y agoI notice in your Overtone + ClojureScript screencast you were using VIM on Mac, but this looked different. Are you using SublimeText here or Noir itself as the editor?
- recurve7 15y agoAlso, what editor/tools do you recommend for general Clojure, ClojureScript, or Noir development and why?