50 ms·
Meet the new Light Table
- ckluis 14y agoThis project makes me happy. Can't wait for it to be extended to other languages.
- kami8845 14y agoAny idea when we can expect first traces of python support?
- bergie 14y ago...or JavaScript support, for that matter. Editing JS files seems to work, including syntax highlighting, but I didn't find any way to connect the instarepl to other "projects" than Clojure
- aidos 14y agoFrom memory python was the last item on the roadmap. Wasn't it an added extra if they got over a certain amount in the kickstarter project (which I think they reached). Ah, actually, looking at the project [0] it says "Python will be the third language to be supported out of the gate" [0] http://www.kickstarter.com/projects/ibdknox/light-table http://www.kickstarter.com/projects/ibdknox/light-table
- SandB0x 14y agoYou might want to check out ipython notebook: http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.... and http://ipython.org/videos.html http://ipython.org/videos.html It's a pretty awesome interactive Python environment.
- kami8845 14y agoI have IPython. I want Light Table as well :)
- takluyver 14y agoIn fact, IPython has a notion of a kernel, a process speaking a documented protocol over ZeroMQ to execute code, provide tab completions, and so on. The way LightTable talks about 'starting a client' makes me wonder if it could use IPython to provide some of those features.
- rodrigoavie 14y agoThank you Chris!
- aoe 14y agoLooks like a good concept, but I really cannot see how this would work for functions with side effects? What if I write `File.rm("something")` and press enter? And how would this work with, say, Ruby on Rails development? Can anyone throw some light?
- seanmcdirmid 14y agoIf File.rm("something") is undoable, then its not a problem right? We are talking about developer tools anyways, its not inconceivable that a mock environment would be setup for the program with undoable side effects or what not. However, this would require serious programming model changes, which are probably not in the scope of Light Table.
- TuringTest 14y agoWhich is a shame. As joesb points out above, this severely reduces the benefits of the "instant execution&feedback" features. Given that this is an alpha release, maybe it's still time to rethink that approach and allow for sandboxed environments.
- ibdknox 14y agoThere's absolutely nothing preventing a sandboxed environment :) Connections are just processes that talk over tcp, if the client wants to sandbox whatever it evals, it can definitely do that.
- seanmcdirmid 14y agoSorry I wasn't clear, but the ability to "undo" an operation definitely requires a programming model change. The sandbox is only one part of that. Rolling your own magic sandbox isn't going to help much without more buy in from the environment (though, I'm sure most of us test in sandboxes anyways).
- chr1 14y agoBut why would you do that? Press enter only where it makes sense. It's just like with other tools, you can cut your finger with knife, but that doesn't make knives less useful.
- MatthewPhillips 14y agoLooks good, one suggestion: the 3 circles in the top left corner need icons. It is non-obvious to me what they do, even after testing them out.
- ibdknox 14y agoWe'll likely do some more work to make it a bit more platform flavored - those are specifically a mac convention. From left to right: Close - Minimize - Maxmize The one on the far right is fullscreen.
- MatthewPhillips 14y agoI figured that's what they were, but generally Mac apps will restore to their original size after you click "maximize" the second time. I'm using Windows right now and Maximize didn't restore on the second click. Also, noticing in Clojure it doesn't keep your parens in order, is that something you see being done in modules? Overall, I really enjoy it though. Going to take a little break from Emacs and give this a go.
- Andrex 14y agoCould you leave an option for using the native system windowing toolkit? I prefer programs to feel as native as possible. Keep up the awesome work though! I'm using Sublime while the project shapes up but I'm still glad I helped fund on Kickstarter.
- muraiki 14y agoAs someone who is red-green colorblind, I cannot tell the difference between the middle and right circles when I mouseover them. And the leftmost circle is green to me (I have a feeling that it should be red)
- icholy 14y agoawesome!
- nathell 14y agoOn Windows 7, I'm getting: CreateProcessW: The system cannot find the file specified. after C-k instarepl -> Start a local client.
- ibdknox 14y agoDid you by chance have the old one before? There may be some weird conflict with the directories. Try removing HOME/.lighttable and restarting.
- nathell 14y agoNope, I tried removing HOME/.lighttable with LT turned off, it got regenerated back upon restart and I'm getting the same error. I'm behind a proxy; not sure if it makes a difference.
- ibdknox 14y agoAh, the proxy is probably it. Does your proxy bypass 127.0.0.1?
- nathell 14y agoQuickly scanning the configuration, looks like it does. I've tried temporarily disabling the proxy in Control Panel, but no luck; I'm not sure this is the correct way to override proxy settings for Light Table, though. Where does it pick its proxy settings from?
- sergiotapia 14y agoCompetition is good and benefits the consumer (us developers) greatly! While I cannot see how this would work and be useful for languages like Ruby/Python/PHP, maybe the Light Table creator does - and I'm excited to see what's coming. I can't wait to try the finished product!
- why-el 14y agoI love what Chris is doing, but I have yet to understand what Light Table does differently from say Emacs's own lisp evaluation mechanism.
- gtrak 14y agoMy opinion is it's time for a UI-driven developer framework with the hackable spirit of Emacs. I hope LT goes in this direction.
- nickik 14y agoOne diffrence is these data flow stuff threw the code. I have not seen that anywhere else. There are some otherthing that are diffrent. The way they want to handle files for example. I would say that Light Table is nothing revolutionary but it is long awaited evolutionary. Finally a modern envoierment that is really easibly extensible. Emacs is great but you have to admit that it is truly aged. Things like eclipse are diffrent from these dynamic smalltalk IDEs that LT trieds to be like (without having the same weaknesses).
- tree_of_item 14y agoAt the very least, Emacs + WebKit would be a cool project. Emacs is great but one thing it doesn't have is bindings to modern graphics libraries. Can you imagine what people could do with that kind of lisp environment + a canvas element?
- yuchi 14y agoPerfect, now edit that T in the lettering to match the reversed L in the logo ;) EDIT: name -> lettering
- modernerd 14y agoLike this? http://d.pr/i/SJhg http://d.pr/i/SJhg I thought the same as you until I mocked it up. Perhaps they tried it too and thought it looked a little too much like a seven: LIGHT 7ABLE
- yuchi 14y agoI see what you mean. I'm not sure if the current lettering is better or not than yours. Surely it's easier to read, but the reversed L is a lot more iconic.
- deleted 14y ago[deleted]
- eckzow 14y agovim keybinding support?
- cpdean 14y ago+1. To quote the article: " I realized the other day that the only time I actually open vim now is when I manage to hose my instance of Light Table. " True vim users can't work without their muscle-memory, so there's gotta be a vim-mode for light table, right?
- jhchabran 14y agoA such mode had been advertised. You can read on http://www.chris-granger.com/2012/04/15/light-tables-numbers/ http://www.chris-granger.com/2012/04/15/light-tables-numbers... that Chris is a vim user and they'll use CodeMirror to provides such keybindings. My main concern is that being vim'ish isn't just about the keybindings, it's way more than that. For example, commands, like :map <leader>r :!bundle exec rake spec %<cr> or in Vjj to select two lines then :'<,'>Tabularize/=>/ to align the hashrockets on two selected lines. Same goes for splitting panes, with C-w s and so on. I'd kill for a "modern vim" and I'm really eager to see Light Table released. As Chris is a vim user, I have good hopes for LT's usability in a vim way. If it requires some changes in my vim habits and I can still control everything without too much chordings, I'll happily deal with it :)
- NathanKP 14y agoI like the idea of Light Table but what is a deal breaker for me is that it feels like there is an ever so slight lag between pressing a key on my keyboard and the character appearing in the Light Table editing area. I am very picky about the way typing feels in an editor, and if it feels slightly laggy or slow then that editor is not an option for me, even if it does have all sorts of other awesome features. Does anyone else feel this or is it just a problem with the app on my MacBook?
- ibdknox 14y agoI don't notice anything unless I have my machine doing some crazy stuff. That being said we haven't done any real performance tuning yet. Out of curiosity what macbook do you have? I run one of the 2011 airs.
- NathanKP 14y agoI have an old 2009 white plastic MacBook, running Mountain Lion. This is definitely an underpowered setup given its age, but I generally feel that it is fast enough for the programs I use, including Sublime Text 2. I've had the typing lag feeling with Coda 2 before, but that is to be expected because Coda is such a bloated piece of software with so many features, trying to run on my old MacBook. But I guess I expected Light Table to be a lighter piece of software like Sublime Text 2, so I was surprised to find that when typing in it I felt the same lag as I do when typing in Coda.
- comex 14y agoWell, it's HTML/JS. Doesn't mean you can't make it fast, but it's a slightly uphill battle, especially with large files.
- gary4gar 14y agoI get the following error: $ ./LightTable: error while loading shared libraries: libsmime3.so: cannot open shared object file: No such file or directory Instruction in how build/install LightTable on Linux? What the the dependencies or configuration directives?
- fmoralesc 14y agoGot this error too. I think you need the 32bits version of `nss`. EDIT 1: Also, lib32-gconf. EDIT 2: Finally, you might need to create a link to /usr/lib32/libudev.so called `libudev.so.0`. My system (arch) provided the .1 version of it.
- kinleyd 14y agoSame problem here. Edit: Arch x86_64
- olefoo 14y agoFrom what I'm getting: ./LightTable: error while loading shared libraries: libudev.so.0: wrong ELF class: ELFCLASS64 It appears that the linux version is 32bit only. :-/
- ibdknox 14y agoHere's a 64bit one: http://temp2.kodowa.com.s3.amazonaws.com/playground/bins/LightTableLinux64.tar.gz http://temp2.kodowa.com.s3.amazonaws.com/playground/bins/Lig...
- kinleyd 14y agoAwesome Chris - thank you!
- hittaruki 14y agoactually I am only able to get a 64bit version of lighttable, can you post the link of the 32bit version? Edit: It seems I am only able to get the 64bit version, if you remove the 64 from the link it gives you the 32bit version, ie, http://temp2.kodowa.com.s3.amazonaws.com/playground/bins/LightTableLinux.tar.gz http://temp2.kodowa.com.s3.amazonaws.com/playground/bins/Lig...
- martinced 14y agoCould Light Table, from the start, think about a "server mode"? Eclipse can be run in server mode (even headless if you want) and you can then connect to Eclipse using, say, vim + eclim or emacs + emacs-eclim. This would be great because I don't doubt there are going to be features from Light Table that I'm going to love and that I'm going to want. But I also don't doubt that there's no way that the "text editor" part of Light Table will come anywhere close to what vim and/or Emacs do provide.
- joakin 14y agoI'm really curious about the architecture and stack of lighttable. Please Chris if you could answer some questions it would be great. How does it work internally? What are the 'under the hood' differences between 0.2 and 0.1 and why? Could you share some of those things learnt through all this time building this interactive platform? How are you doing to get a cross platform desktop app with web tech? (I guess you still use cljs for it) I'm really curious, and I wonder myself why nobody asks this kind of questions
- mcdonji 14y agoI am also really curious about these points and would like to hear what Chris has to say about them.
- ibdknox 14y agoThese are all things I plan to talk about in my next blog post :)
- hyperturtle 14y agoFrom what I can tell it looks like it's using the Chromium Embedded Framework http://code.google.com/p/chromiumembedded/wiki/GeneralUsage http://code.google.com/p/chromiumembedded/wiki/GeneralUsage
- fdb 14y agoIt uses node-webkit as the host, which combines Chromium and node.js: https://github.com/rogerwang/node-webkit https://github.com/rogerwang/node-webkit
- filipncs 14y agoHow do I open files in a project after connecting to it? Nothing seems to happen after I get the pop-up that the connection succeeded, and if I open the files manually I still get an error when I try to evaluate them (missing connection). This is on Windows 8, I'll try from a mac later. Btw, drag-and-dropping a file into the window breaks the program.
- filipncs 14y agoOn 10.8.2 it works. Is there any shortcut for opening files by namespace names? Or of exploring the namespaces in a connected project?
- geuis 14y agoPlease consider increasing the brightness of your text. It's dark grey on light grey background is very straining to read.
- Rayne 14y agoThere are other themes, but they didn't get packaged in this release. The next release will have a bunch of new themes (and I think I've convinced Chris to add my own tomorrow-night theme from https://www.refheap.coms https://www.refheap.coms codemirror editor to it, woot) that you can set in the command bar with 'set theme sometheme'. Solarized dark is included, but the codemirror version of that is just as bad as the default theme.
- nagnatron 14y agoHow can I buy the shirt?
- RKearney 14y agoChrome alerted me that this file is not commonly downloaded and may be dangerous. Might want to look into why Chrome is flagging your Windows download as potentially hazardous.
- deleted 14y ago[deleted]
- short_circut 14y agoI tried to dismiss the warning and it just deleted the file on me.
- sirclueless 14y agoIt's probably just because the file consists of an unsigned executable inside a zip file, which has to be one of the most common ways that viruses are distributed.
- agentultra 14y agoI liked the post "All ideas are old ideas." Looking forward to seeing how you've been inspired and what the result will be in Light Table. Happy hacking.
- Cowen 14y agoThat's convenient. I was just looking up Light Table last night when seeking a decent IDE for my Chromebook. I see that it's moved to a native app now, which makes it Chromebook-incompatible. Is there still a way to access the browser prototype that it started as?
- samspot 14y agoI've been using the instarepl to learn clojure and I'm liking it a lot so far for that purpose. However I still can't grasp how to use the project features. I'd like to humbly suggest you do some hallway usability testing and work on the learnability of the UI.
- dmvaldman 14y agoCrashes on open for my Mac OS 10.7.2 Anyone else?
- jared314 14y agoIs a plugin API available yet? After using SublimeText 2, I want the fuzzy search, the ST2 "Goto Anything" search box, in every IDE I use.
- Sidnicious 14y agoIt looks awesome but the new user experience was a little rough for me. Here’s what I did: 1. Click in the command bar. The autocomplete menu popped up. 2. Click "new". The menu disappeared and the command bar loses focus. 3. Click in the command bar again and type "new", hit enter (it’s pretty common to be able to create new, unnamed files in editors). This message shows up in the upper right hand corner of the window: Uncaught Error: Doesn't support name: (file:///Users/sidney/.lighttable/js/bootstrap.js:10616) 4. Click in the command bar again and type new, then hit space. Ah, OK, I’m supposed to pick a filename. Type one ("foo.clj") and hit return. A tab opens up with the file. 5. Type some code. Nothing’s happening on the right. Isn’t that supposed to be the big thing about Light Table? (Also, the error message from the beginning is still hanging around. Huh. 6. I go to the command bar again, find the `connect` command. "Connect to a project", sounds right. I type "connect" and hit return. "Connecting" shows up in the bottom right of the window for a few seconds, and then this message pops up over on the left: Could not find project.clj file at "" 7. Okay. I run "connect" again with my filename. Similar message. 8. I go back to the welcome page and notice the command+shift+enter command, ah, OK. I hit it and a dialog shows up. 9. I don’t have a project so I click "start a local client". The "connecting" message shows up for a few seconds, followed by "Connected to Light Table server". Awesome! 10. …nothing's showing up on the right side of the window, the "connected…" message disappears. Huh. I type command+shift+enter again, and get the same "You're not connected" dialog as before. 11. I relaunch and try again, same result. I’m stuck. I look at the screencast again and try the instarepl command. Everything works, nice!
- ibdknox 14y agoThanks for this, it's a wonderfully detailed explanation of what you went through - mind putting it into a bug report for me? We have a ton of user testing to do and this is the first breath of air this particularly set up has seen (it didn't even really exist two weeks ago!) Some of these are things that just completely slipped my mind (e.g. clicking on the helpers), some are things that are just that the platform is so new it doesn't have any documentation, and some are just flat out busted assumptions on our part.
- justinhj 14y ago
- squidsoup 14y agoFirst of all, I love this project and await vim keybindings with bated breath. Light Table + Clojure make me feel like I'm programming in the future. One issue in this new build, the stacktrace/error widget feels a bit awkward e.g. http://i.imgur.com/RVYHU.png http://i.imgur.com/RVYHU.png Is this likely to become 'dockable' at some point?
- ibdknox 14y agoYeah, I'm not happy with how that works yet. I ended up compromising on what it does now, because I couldn't seem to get CSS to cooperate with me on how I really wanted it to work. There will definitely be improvements to that bit.
- AYBABTME 14y agoMy I dare asking where we can get those awesome tshirts?
- Meai 14y agoI think you need to be more direct with what Light Table does. I tried creating a C file and executing it, it prompts me to start a "local client" (whatever that is). Obviously I could be doing more to inform myself but skimming the first few paragraphs of this article didn't give me a better idea, neither did the software. The scrollbar is also very hard to click on. The minimize and maximize buttons look to have the same color on my screen. I'm assuming I have a cheap setup, but that's how it is in the real world (I hope I'm not adding snark here, but it really is). A tooltip on what they do would be nice as well. If you get this working with a language like C# or Golang, you'll probably get a customer with me because I like the general idea of working with functions instead of files. Maybe you can add powerful addon functionality if you don't plan to do this yourself.
- Rayne 14y agoI'm pretty sure the plan is to have support for all of the languages be addon-type things.
- elrzn 14y agoWonderful, I'm using it to learn Clojure and work on 4clojure problems. What I really miss for this purpose is having some kind of live doc feature.
- z3phyr 14y agoIts standalone, now I call it a real IDE... I am happy.
- z3phyr 14y agoIs it writern in clojure or clojurescript?