8 ms·
Eve Version 0
- fortytw2 11y agoInteresting ideas, very different, but still reminds me a lot of Light Table (probably because they have the same author :p) Seems to be built on a rather interesting Rust + TypeScript stack? Can't say I've seen that one before - anyone have experience with such a stack?
- mej10 11y agoThe stack choice is especially interesting since I thought they were big fans of Clojure. I would like to hear their rationale for Rust/TypeScript over Clojure/ClojureScript (or Clojure/Javascript). EDIT: typo
- jamii 11y agoThere was some discussion in http://incidentalcomplexity.com/2015/02/24/january--february/ http://incidentalcomplexity.com/2015/02/24/january--february... > While running in the browser is a requirement for Eve, it's always been clear that using javascript directly was not a long-term option. So many of our implementation problems come down to lack of control over data layout. For Eve we need to implement: > New types (like intervals) - but there is a space overhead of 24 extra bytes per object Polymorphic comparisons - but dispatching on typeof is slow Cache-friendly indexes - but it's hard to store multiple js objects sequentially in memory Radix tries - but converting strings to bytes is slow > We also want to be able to distribute native code for mobile devices and use real threads on servers. Lastly, there is some benefit to using reference-counting for the indexes so that we can avoid copying nodes when we know we have sole access. > We ruled out C++ and D on aesthetic grounds - we have a preference for small, simple languages that we can understand completely. Rust wins points for safety and abstraction but the toolchain is not nearly as mature and there are issues that currently prevent compiling with Emscripten. C gives us less support in the language but is much more future-proof at the moment. I also wrote about our experiences with Rust later at http://scattered-thoughts.net/blog/2015/06/04/three-months-of-rust/ http://scattered-thoughts.net/blog/2015/06/04/three-months-o...
- PopeOfNope 11y agoI'm curious, why not LuaJIT? It's small and fast and when you need it to be faster, it has excellent C FFI and the ability to add inline assembly[0]. [0]: https://gist.github.com/lukego/d15f3a65bd316ea2c2b6 https://gist.github.com/lukego/d15f3a65bd316ea2c2b6
- jamii 11y agoWe needed control over memory layout and some path to running in the browser. I considered writing the data-structures in C and the rest in Lua but it would require more manual memory management than Rust and there is no clear path to compiling mixed Lua/C projects into Javascript.
- PopeOfNope 11y agoThat's a good reason. :)
- sanderjd 11y agoWhy is jamii's reply to this dead? It is very informative and on-topic.
- dang 11y agoIt accidentally triggered a spam filter. Sorry; we fixed it.
- sanderjd 11y agoThanks! It's a testament to how rarely things go wrong that seeing such a good comment ranked so low was so surprising to me.
- dang 11y agoWe're currently testing a feature that lets users unkill comments that shouldn't be dead. Once we roll it out to everyone, this will hopefully be less of a problem.
- mtrimpe 11y ago@jamii: For some odd reason you seem to be hell-banned. I couldn't find anything in your comment history to suggest why though :s @mej10: Turn on showdead if you want to see jamii's response to your question.
- aerovistae 11y agoBugs me when people choose a name that's already being used for something much better known.
- dcre 11y agoYou mean the game? Not sure there's much potential for confusion.
- richardwhiuk 11y agoThe game was the first thing I thought of when I saw the title as well.
- karlkatzke 11y agoI read "Sum" as "Sun" and was trying to figure out why there was a bubble with "salary" in it.
- spdionis 11y agoThe game is famous enough to create real confusion. Especially in geek social circles I guess a very high percentage of people immediately think about the game when seeing "Eve".
- coldtea 11y agoThere's also one of Englightenment's supporting libs called Eve IIRC.
- jason_slack 11y agoThis sort of reminds me of my old FileMaker days in terms of the way you layout the UI, populate it, etc. I'll definitely keep an eye on this, I feel it could be very useful.
- cpr 11y agoSo it looks like they've come a rather long way around to building the world's best graphical query builder, with plans for much more beyond?
- webjprgm 11y agoI really enjoyed building data applications in MS Access before it was sunset. In fact, I finally started understanding SQL joins by using Access's graphical query builder so that it made me much better at my PHP web programming job. (That was in 2003-2005 time frame. I was also still in college.)
- eterm 11y agoOT: I hope that is the case. I've been responsible for building query-like tools for end users, and all the current stuff out there completely sucks. For example, no non-programmer I've ever talked to can correctly explain the difference between: A and B or C A and C or B And to be fair, it's only because of arbitrary precedence rule choices that those are different at all. I've personally found that dealing with groups and instead of having "AND, OR" you have "ALL, ANY" and always group rules (even if they're groups of one rule). But even when you have that, you then have to deal with nesting rules, and nests of nests. The actual implementation of the backend of such systems is easy, the composite pattern / delegates pretty much deals with the implementation. But the front-end side? They tend to then be forgotten and universally suck, to the point that either it gets handed off to a developer or query-tool expert to use, or some horrific mistake such as accidentally mail-shotting everyone[1] which causes them to never try to have automatic query rules again. Graphical query building for the end-user is a really difficult area which hasn't seen enough research. [1] I want to mail Visited Yesterday And are either Men Or Under 30. Instead of "Visit > Yesterday AND (Men OR Under 30). They forget the brackets. Whoops, that's half their clients hit.
- bencollier49 11y agoConfusion reigns. They should call it Evie.
- mkozlows 11y agoSo after they didn't exactly revolutionize the IDE with Light Table, and pivoted to revolutionizing programming, they seem to have kind of come around to revolutionizing... groupware? Which at least seems more plausible, as it ought to be possible to make a better groupware application than Lotus Notes. I think the larger implication is: Programming tools are actually pretty good, and the larger process of programming is fairly solid, and while improvements are possible, they're probably going to be evolutionary improvements that build on what we have, rather than throwing everything away in favor of a brand-new approach.
- dgreensp 11y agoI get the opposite message, which is that programming tools and the process of programming are so bad, it's hard to get a computer to do a simple task for you without tearing your hair out, never mind building a UI. A better IDE (basically a better text editor) doesn't even scratch the surface.
- webjprgm 11y agoYeah. They said for doing simple things rather than building complex systems the current tools are not very convenient. I find it really useful to use Ruby's built-in CSV library to process data for spreadsheets then visualize it with a graph in Numbers. I pull data from copy-paste tables, extract from Sqlite databases embedded in applications, etc. But for something like scanning Facebook friends as they suggested I'd have to first figure out the API or how to scrape the data. Once I figured that out it probably wouldn't be too hard to write a script for it. I could probably even put it in a crontab (LaunchAgent plist on a Mac). Anyway, I think there's a huge opportunity to empower more people who are inquisitive and maybe somewhat technical but are not programmers. Make it easy for these people to solve problems rather than trying to teach them to "program". The end goal in my mind is the StarTrek programming model where you discuss with the computer what you want to do to solve a problem. Those crew members are scientists and engineers but only a few of them are "programmers". (StarTrek is a useful yardstick because we seem to like copying technology out of it. E.g. StarTrek communicator which is the late 90s cell phone and StarTrek PADD which is the SmartPhone/tablet.)
- tzakrajs 11y agoI still have no idea what this is after reading the blog.
- fcanas 11y agoStill no idea after following the link on the first line: > Never heard of Eve? [Read more here](http://witheve.com/ http://witheve.com/) ... > Eve is our way of bringing the power of computation to everyone, not by making everyone a programmer but by finding a better way for us to interact with computers. On the surface, Eve is an environment a little like Excel that allows you to "program" simply by moving columns and rows around in tables. Under the covers it's a powerful database, a temporal logic language, and a flexible IDE that allows you to build anything from a simple website to complex algorithms.
- z92 11y agoIt's a MS Access like desktop database application. That's what I understood.
- adinb 11y agoThat's how I understood it as well; maybe I'm missing something? I'd love to see a web-native supported version of Access or File maker that was fully open source and had modern programming languages fully baked in.
- cmontella 11y agoThanks for taking a read. Chris stated in the blog post that this release is basically "a database with an IDE". Our vision for Eve is that people will use it as a tool for thinking and then communicating the results of that thought process. Take a look at Excel, for instance. Excel is the most widely used programming language by non-programmers simply because of its dead-simple programming abstraction: a grid of cells than can hold data and reference each other with formulae. History has shown anybody can get this. People have taken this surprisingly far, but there are still drastic limitations to what you can build this way (how do you manage state, UI, external access to APIs and data?). Trying to make programming in its current form simpler is a dead-end; as a task, programming has built up too much incidental complexity over the years. Instead, we are approaching it from the Excel angle of trying a completely different abstraction, which (we hope) will attract the same kind of attention from non-programmers as Excel has.
- mej10 11y agoCongratulations on getting this out there! Looks like the team has made a lot of progress. Looking forward to trying it out.
- sanxiyn 11y agoI always thought BOOM was a very cool system, so it's nice to see something influenced by it. I find it interesting that BOOM emphasized scalability, but Eve seems completely uninterested in that aspect.
- nekopa 11y agoMaybe that's because they are trying to target 'non-programmers', so scale probably is not an issue for them. But that may hurt them if they want 'serious' programmers to take note. For me, I want to try it out because there are a million little things I would like to do just for myself, not at web scale...
- srtjstjsj 11y agoWhat happened to Light Table? Did it evolve into Eve? Is Light Table abandoned?
- moron4hire 11y agoHe had a blog post about this, how early design decision to make absolutely every feature in the editor a plugin over-complicated the design to the point that he was the only one who could maintain it, and maintenance was all the more he could do. So yes, LightTable itself is done. He also said he planned on returning to addressing the goals of LightTable in the future.
- deleted 11y ago[deleted]
- MrDosu 11y agoI think the major problem with this approach is trying to solve the general Problem. These graphical abstractions can be excellent when tailored to a domain. We are shipping a product right now that abstracts the database away through a little graphical graph editor like this one to transform it into the domain language of the people (non programmers) that are consuming the data. It is quite excellent.
- nekopa 11y agoCan you explain more, or even share your project? It sounds quite interesting.
- MrDosu 11y agoUnfortunately I cannot share code. It is actually quite simple. There is a graphical designer that connects to a data warehouse. There someone defines a graph like structure with nodes that contain a collection of data rows and relations to other nodes of data rows. This results in a library that you can interop with in existing software tools of the customer to query that graph model naturally (Stuff like Location('airport')=>Car('sedane')=>RentalHistory). It's basically a glorified ORM mapper with a graphical programming language for the codegen of the objects to produce a kind of data DSL.
- dman 11y agoWhat is the domain in question? Have you run into issues where the power users who are non programmers want to do more programming like tasks over time to exert more control?
- MrDosu 11y agoThe domain is (non technical) government data analysts. Yes we ran into this a lot with people wanting more control. There are several hooks and extension points in the software. Basically every graphical element has the equivalent of being replaced with an actual code file that you can substitute at runtime. This gets never used by the customer, usually we just provide extension libraries that abstract the concepts of whatever they want to do.
- w_t_payne 11y agoI'll be happy when it gets vi keybindings
- danso 11y ago> In order to accomplish that, we do need a way to describe processes. We need a way to "program." But switching the goal from building applications to analyzing and communicating information changes everything. Our current programming tools are awful thinking tools. Instead, they were designed to build complex systems. How much effort does it take to write a program to scan through your facebook friends and check to see if someone who usually isn't in your area currently is?...People aren't really tring to build the next Facebook, they're trying to use the information from it in a different way. The example given here by the OP strikes me as a good example of how and why programming is complicated, and what people generally want their programs to do is unlikely to be doable without knowing how to program. Case in point: why can't a layperson just make a little app "to scan through your facebook friends and check to see if someone who usually isn't in your area currently is"? The ease, glib answer is: well, Facebook's developer API requires several hoops to jump through, including OAuth of clients and so forth. So that's why there's no drag-and-drop-plug-and-play module system for such a feature. The bigger answer is the answer to the question of why does Facebook's API have to be so complicated? Well, besides business reasons...FB's API is a public-facing abstraction over a system in which a billion people have agreed to (semi-)authenticate themselves and communicate a variety of real-time things about themselves. As annoying as it is to program your own little FB apps...it's complicated because the system it interfaces with is overwhelmingly and amazingly complicated. I don't see much room for improvement in making programming easier in this regard. It'd be like making Shakespeare more digestible to people who don't want to learn to read (OK, ignoring oral storytelling, for this limited analogy)
- MrDosu 11y agoI would argue that an API is easier to learn by several factors regardless of how complex it is compared to the abstract reasoning and modelling skills to actually transform the faced problems into a precise model.
- cmontella 11y agoI respectfully disagree. People who are not programmers use abstract reasoning and modelling skills all the time in their daily lives. They more than have the skills to solve this problem: You have a list of friends and where they are, you have your own location. Find the list of friends that are near your location, and send an alert (text, e-mail, whatever). How hard is that? There is absolutely no inherent complexity to this problem.
- shubhamjain 11y agoWow. This is something that I had pondering over the past. A major frustration I notices with people using excel is Data-Entry coupled with horizontal scrolling. I was sketching a app with cells that are like MongoDB like collections and computations that can defined elsewhere. Although, people have called making a generalised CRUD software, nearly impossible task, but I bet that, in that domain lies a room for an innovative conceptualisation of the problem. Maybe, in the next decade, we can see software with which people don't have to look for freelancers just to build a Data-Entry App. Good luck, Chris!
- dalacv 11y agotake a look at Oracle APEX and KnackHQ.com
- slantedview 11y agoReally excited about this work and interested to see where it goes. Reading this: "even many of them expressed wanting to automate processes or bring a bunch of different types of information together" ...makes me wonder: are we just talking about a better ITTT type of thing?
- jamii 11y agoThe change of focus is perhaps hard to understand without more context. Basically, there are two really different modes of programming: Most of what we see on HN is about building applications, servers, websites etc. Big, monolithic things that take weeks to years and are deployed to somewhere else and used by lots of people. Most programming tools are built for this kind of work, where the time between writing the code and actually using it is days or months. But the people we want to make programming accessible to are mostly knowledge workers. Their work is characterised by a mixture of manual work and automation, throw-away code and tools rather than applications. It's better supported by Excel, SQL, shell scripting etc than by the big languages and IDEs. We realised that we can do much more good focusing on that kind of programming.
- Fomite 11y agoThis is a really helpful perspective. For example, I've started referring to myself as a "user" of Python rather than a programmer.
- agumonkey 11y agoCare to explain a bit your choice of word ? Funny how I often heard about the user / programmer dichotomy. Always just felt like a user in the know.
- wingerlang 11y agoSeems like it has to do with the end result. If your goal is to make an app, then you have to program that app. So you are a programmer. If you want something quick, maybe throwaway-able, you pick something to use for that, and you are a user. You could build a program with that throwaway script without being a programmer though. Just like I can build a house without being a carpenter. That's my interpretation though.
- Fomite 11y agoI'd divide it as essentially "User of Packages" vs. "Writer of Packages", and of course, the dichotomy is not actually a clear one. But the choice was to suggest that there are some people for whom the programming language and its libraries are not an end of itself, and "Just crack it open and write your own thing for X..." is essentially a non-starter. I think it's useful to distinguish between the two groups, because not only do they have different skill sets, but they have different motivations. For example I will never directly be evaluated on the performance or style of my code in the way a programmer might be - only the paper that code helped me write.
- dominotw 11y agoIs anyone using LightTable on a daily basis? I sponsored the kickstarter but never really followed up on what happened to it.
- BjoernKW 11y agoThe way I understand it Eve is aiming to be both a better Excel and a better Lotus Notes. I think its creators are still on to something. These tools are often ridiculed and their use by non-programmers for creating business tools is often frowned upon but they allow business users to quickly create flexible, makeshift solutions to their problems. Not every business problem needs to be solved by a complex, cumbersome JEE application and an expensive application server. While Lotus Notes apps certainly look awful and feel clunky most of the times there is a certain elegance to being able to quickly whip up a solution to a business problem or an urgent information need without having to go through a lengthy collection of requirements and approval process first. The same applies to Excel spreadsheets: They're a great tool for iterating quickly and getting a certain class of jobs done. Something like a REPL for non-programmers.
- IanCal 11y ago> These tools are often ridiculed and their use by non-programmers for creating business tools is often frowned upon but they allow business users to quickly create flexible, makeshift solutions to their problems. They do, which is both great and terrible. They're powerful and easy to get started with, but therein lies the danger. When used to quickly whip something up they're great, but when those things grow or end up being relied upon they're no better than the hack that the CEOs kids friend who is 'good with computers' produces. So, since they're both useful and dangerous, are there things we can do? Perhaps a spreadsheet that allows some form of testing? Are there simple tests we could start to encourage people to use? When I've used spreadsheets for some financial things, I know that if I increase one cell, I expect another to increase (for example). I know certain combinations of inputs that should result in certain outputs. Also, perhaps a clear path from spreadsheet -> application? Often intermediate values are displayed somewhere, so could a spreadsheet app lead someone to naming them all (typically they'll have a 'variable name' just to the left of them). edit - I should really have read the article first, but I think a focus on making things testable is important.
- jamii 11y agoThat's definitely something we spend a lot of time thinking about. We have to be able to support easy, exploratory programming but also be able to nail stuff down if it ends up being used a lot. We have a bunch of ideas queued up. One of the simplest is generating fake data as you write code so that you have a better chance of noticing edge cases. We are also planning to proactively hint about integrity constraints (types, unique/foreign keys etc) eg if a column only contains integers, show a button that fixes the type to integer. There is an optional typing system in the wings too. There is also lots of similar research aimed at spreadsheets (eg http://eusesconsortium.org/wysiwyt.php http://eusesconsortium.org/wysiwyt.php) which we can borrow from.
- 27182818284 11y agoLight Table is dead or alive at this point? I hear so little about it I can't help but feel it is on death's door or dead. I'm sad about that. It seemed like it could have been something really cool.
- divs1210 11y agoNot sure what you're talking about. I use it almost every day for clojure/js and sometimes python when I just want a quick script. (PyCharm for actual dev).
- 27182818284 11y agoI have it installed on my machine too. I just hear nothing about its future and it seems like folks are focused elsewhere too. E.g., this topic about Eve. Especially for something YC backed. I guess I was just expecting to hear more and such.
- ZenoArrow 11y agoIIRC the next release (version 0.8 I believe) is focused on porting to use Electron for its GUI. It doesn't appear to be dead, though I'm sure the devs wouldn't mind a little help (a willingness to try ClojureScript is probably a big plus if you were interested). ClojureScript is a Lisp so it should be fairly easy to pick up the basics.
- _pmf_ 11y ago> what it seems like we need is something more akin to the original vision of Lotus Notes - an environment full of information where communicating that information to people or even other systems is a fundamental primitive. Oh boy, here we go again. A more direct admission of not knowing what to build is hardly imaginable.
- mach1rcode 11y agoIf their primary focus is business/knowledge workers, why wasn't their release targetted to Windows?
- jamii 11y agoIt is kind of a pain to build on Windows right now, but it is a supported platform and we will eventually have pre-built binaries.
- mach1rcode 11y agoThanks, have been looking forward to testing this as I am essentially your target demographic.
- jordanlev 11y agoAt a glance, it reminds me of what MS Access was (is?)... or could have been if MS hadn't ignored it to death. So many people (myself included) were/are incredibly empowered by that program, and I still have a fond place in my heart for Access, as it was my bridge from Excel macros to "real programming". Hopefully Eve doesn't get DabbleDB'd... the world really needs a modern MS Access!
- panic 11y agoIf you haven't heard of DabbleDB, this video is a good introduction: https://www.youtube.com/watch?v=6wZmYMWKLkY https://www.youtube.com/watch?v=6wZmYMWKLkY. It shared some goals with Eve, like letting people easily enter and manipulate data, though as far as I know it never tried to support general-purpose programming.
- kasrak 11y agoI work here, so disclaimer, etc, but we're working on a modern MS Access at Airtable [1] -- it's very similar to DabbleDB. It's early days both for Eve and for us, but it kinda feels like we're approaching the same problem from different angles. Eve's more focused on the programming experience while we're starting by focusing on the data. [1] http://airtable.com http://airtable.com
- mistermann 11y agoThis looks quite interesting. Do you have plans for a pricing model to support building a public website on top of it? Also, will it only be (your) cloud based?
- kasrak 11y agoWe're still figuring out pricing, but each base ("database") has a custom API (the endpoints correspond to your specific schema) that you can use to build a website: http://airtable.com/api http://airtable.com/api
- jordanlev 11y agoAt a glance, it reminds me of what MS Access was (is?)... or could have been if MS hadn't ignored it to death. So many people (myself included) were/are incredibly empowered by that program, and I still have a fond place in my heart for Access, as it was my bridge from Excel macros to "real programming". Hopefully Eve doesn't get DabbleDB'd... the world really needs a modern MS Access!
- Animats 11y agoBad name choice. There are already too many better known things called "Eve".
- rafaelferreira 11y agoThe new value proposition is reminiscent of DabbleDB, which was a groundbreaking product that didn't seem to get enough traction to sustain a business. Is this comparison apt? Any ideas on why Eve has a better chance of succeeding?
- scottjad 11y agoThe comparison is very apt. Dabble is the main reason I don't have much hope for Eve. Dabble was amazing, it did everything in the Eve Tutorial much better than Eve does, it didn't require installing anything on your computer, it looked beautiful, it was very easy to use, it had great collaboration, and it had a TON more features than Eve, and it had excellent customer support. Dabble is one of my all-time favorite apps and I think it's one of the best webapps ever. And it didn't succeed. I guess it's hard to know what might have happened with Dabble had they not created a separate analytics tool that was attractive to Twitter. Would someone else have bought Dabble and continued to support it? What if it had been built on a more mainstream architecture? I always thought Dabble would have been sustainable as a small business. Something about recent history (i.e. LightTable) tells me these guys aren't likely to toil away supporting this for the next 10-20 years to earn a modest income. I can think of at least three limitations Dabble had that some future version of Eve might not have: 1) There were only so many primitive operations (conversions, calculations, filters, etc) and so there were some "programs" that you couldn't create. 2) For creating a UI, you basically had forms and reports. They had a great implementation of both of those, but they were the only tools you had. 3) You couldn't see the code. Just as Excel has the code hidden in a cell somewhere, in Dabble if you had a derived field (some calculation) you had to click on the field to see how it was calculated. It appears Eve has or will have some way of graphing these calculations so a program can be "read" without clicking on fields to see their formulas.
- a-dub 11y agoSo every time I've seen something like this (ETL tools, LabView, Scratch, pd/max, etc) I've noticed a common problem. They're dead simple to create simple things in, but often times simple things grow into complex things over time and once things become complex things implemented in graphical programming languages they become nightmarish to maintain. Subtle logic ends up buried... Simple processes like a full search of a project or diffing between two versions become impossible or clunky and you end up with the one person who knows how to maintain X. Is there anything here that addresses this problem?
- ibdknox 11y agoCheck out my note on visual programming. [1] The short answer is we have lots of tools in mind that will help with this, but programming this way just creates a very different kind of system. We've built some complex things and they've remained fairly flat and we made sure that it is both readily apparent what is contributing to your current query and easy to navigate into it if you want to see more. For the most part these problems boil down to navigation and debugging issues, both of which we have really powerful ideas for. For example, we want our debugging story to be what's called a "why? debugger" where you can click on any value in the system and Eve will show all the data that went into calculating it and every query it went through to get to here. There's assuredly going to be lots more experimentation needed here, but we have every intention of making this handle more complex things. We're bootstrapping the compiler and eventually the editor, we've built clones of websites, and we'll continue to push the edges of what we can do with it :) [1]: https://github.com/witheve/Eve/blob/master/design/visualProgramming.md https://github.com/witheve/Eve/blob/master/design/visualProg...
- jerf 11y agoWell, I guess this is as good a comment as any here to say this... I feel morally obligated, as someone who has been frequently skeptical about visual programming on HN, to point out that what I personally really meant is that... "Along the way to version 0, we tried everything from a Mathematica-like notebook built on functional programming to a purely spreadsheet-like model. We built dataflow languages and madlib based editors and read through papers from the foundations of computing. One thing that ran through all of this, however, was to make sure we never drank our own kool-aid too much. We dug through research and created postmortems and landscape summaries of all the projects that have come before us. We tested our ideas with actual people and against real projects. That meant that we "threw away" most of what we did to get here. It was the best way to keep ourselves honest." ... that is the minimum effort required. I have long advocated that people picking this problem up hit up what's already been done and hit the research to make sure they're not going down a known failure path. If anyone's going to get to stick my skepticism about visual programming back in my face, it's someone who's doing the stuff in that paragraph, not someone who goes (basically) "Programming sucks, by extension you all suck, visual programming is obviously the solution because, visual! And look, guys, here's my 2-week solution that proves it out!". I won't lie to you, I remain skeptical, but, well, I'm just generally skeptical about things that don't exist yet. I wish you all the best, and I promise you that if you do succeed I won't do that thing where I pick nits to claim it's a failure anyhow. And I also promise you that I'm happy to say you've been successful in some niche, not set the bar at "REPLACES ALL PROGRAMMING, EVERYWHERE!" or something equally silly.
- DTE 11y agoEve looks incredible. I love seeing the the UI stuff that these guys put out as its a non-trivial problem to wrap a complex programming model with an interface (graphical) that can expose both powerful as well as generic functionality. The crew at Eve/LightTable are taking on a huge project and are clearly extremely talented. We would all do well to follow this project as it matures. Keep up the great work.
- tedsuo 11y agoI kind of did an eye roll at the breathless language in the announcement. I'm trying to unpack that reaction, because I actually really enjoy the first-principles approach that they have taken with their work. I think, perhaps, it's because there's a fair amount of praxis already out there in the enterprise and small business sectors about this, and I didn't really see reference to any of that, Lotus Notes notwithstanding. I know it's nitpicky, but it was a strong reaction so I thought I would share it. I'll try to unpack it more: Basically, creating data processing tools for humans is such a fundamental application of computer science that we even have a name for it: Information Technology. And, ever since the Mother of All Demos we have been trying to make a kind of "omni-tool" for data processing, and pretty much falling on our faces. This is perhaps because a "general purpose tool" usually turns out to be a particular kind of "special purpose tool". The question is whether a large enough segment benefits from general purpose tooling, which entails taking on the overhead of learning how to use this "tool that makes tools" in order to accomplish their many tasks. In other words, there's a layer of indirection. Or, are most people's problems disjoint and specific, so that they benefit more from using a few special purpose tools that can then be loosely coupled together. For example, let's say for my job I have to manage the generation of reports, etc, and post them on a company website that I maintain. I can use a document editor to edit documents, a communication service to send links to the documents, and a web-based CMS tool to post the final reports to the website. It's not clear that I would be better served, or even could be served (due to the network effect), by an all in one tool-builder tool. Three special purpose tools, which can guide you effectively in each task, might be easier to deal with than one general-purpose tool, all user grousing aside. This particular type of omni-tool could be described as a"Distributed Filemaker." Filemaker-like tools are definitely popular, but tend not to unseat other special purpose tooling. And they have a problem shared by all powerful data modeling tools: they provide you quite a bit of rope to hang yourself with. If you want to really improve in this space, I suggest you focus on providing a data modeling and coherency paradigm that is appealing to non-technical users, yet successful for managing long term data that changes meaning over time. That would be profound, as poor data modeling is pretty much how all of these projects eventually crash on the rocks. Your users will not ask you for such a thing though, as they don't understand it. In spite of the eye roll, I wish you luck!
- hyperliner 11y agoIt is good that we keep trying at this problem. Does it feel that as an industry keep trying to solve this problem and never "quite" get it right? I have read about the old "CASE" tools or old VB approaches, for instance. Even Microsoft Access now can generate applications on Azure backed by SQL Azure (SQL Server for the cloud), then there was some Intuit tool (can't remember the name). One can argue Excel itself was quite good at some of these apps. More recently seems like Dabble or Popfly were a thing at least for a few months. Every time something like this happens, "real developers" feel threatened, while business users love them for their side projects when the "real developers" are too busy to care. Maybe these types of tools are always destined to come up again (since we reinvent the platforms all the time), and then a few users use them, while real programmers for the most part simply yawn once more. Are we ever going to push programming to a level of maturity where we can use building blocks and be real productive, yet have the flexibility to create real, sophisticated applications? Seems we never quite get there. But it is positive to see that new generations of developers don't stop trying.
- nikki93 11y agoA few other things to check out in this realm: http://unisonweb.org/ http://unisonweb.org/ http://www.selflanguage.org/ http://www.selflanguage.org/ (esp. the papers on the UI) http://www.subtext-lang.org/ http://www.subtext-lang.org/ http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.h... I like to try to experiment with this stuff as game development tools, because games are highly realtime / graphical / interactive and that's hard. It's easy to write an A -> B transform (like a compiler is a lang1 -> Either error lang2 transform for example) functionally, because ultimately that is a function. Doing interactive compute this way is hard, and that's where FRP, FRelP (functional relational programming) and a bunch of stuff could be used. I was trying some interactive game dev stuff with this: http://ludumdare.com/compo/2014/08/27/reminisce-post-mortem/ http://ludumdare.com/compo/2014/08/27/reminisce-post-mortem/ (allows live coding and live edit) but some issues popped up as highlighted in the paper about it. I think a prototype-based approach like Self could be a good way to go. Also doing it in lispy languages to abstract the language upward while abstracting the problem downward. The Out of the Tar Pit paper is really a good one. Doing things this way allows more immediate connection to the creative spirit, as on the other side of the more 'logic'/'rational'-based one, which is sort of like static typechecking in human thought -- it prevents error, but to move forward you some times have to make leaps of faith/intuition. Like between two paradigms (check out Kuhn on scientific revolutions, or Science, Order and Creativity by Bohm). Need to be in and about the artwork. Sorry, been reading a bunch of Nietzsche / Psycho Cybernetics / Prometheus Rising type stuff and this is on my mind (http://www.paulgraham.com/top.html http://www.paulgraham.com/top.html) right now haha.
- jamii 11y agoSince you mention game development - the architectures behind Love (https://www.youtube.com/watch?v=DPIA2g8T6Hw https://www.youtube.com/watch?v=DPIA2g8T6Hw) and Bitsquid (http://bitsquid.blogspot.com/2010/04/our-tool-architecture.html http://bitsquid.blogspot.com/2010/04/our-tool-architecture.h...) were both big influences, demonstrating that it's possible to build composable tools while still having the accessibility of rich GUI apps.
- 11y ago
- zubairq 11y agoGreat stuff. When will there be a hosted version I can try out?
- deleted 11y ago[deleted]
- viraptor 11y ago> Imagine what we could do just with a version of office where every bit of information was sourced live from a database, where instead of Power Point presentations of status you could throw together a dashboard and send it to everyone in the organization. The thing is... you can. Not a presentation / PP, but if you want to create a self-updating dashboard, you can do it in Excel. It's not going to be super easy, but you can do pretty much all of it by clicking. Here's excel with a sheet that comes from sql database. It's trivial to add another sheet with just graphs on it. https://support.office.com/en-ie/article/Connect-to-a-SQL-Server-database-Power-Query-e5004318-0f2e-46a3-8b15-1559aa3c04db?ui=en-US&rs=en-IE&ad=IE https://support.office.com/en-ie/article/Connect-to-a-SQL-Se... But if you want to do a "dashboard proper", you can use the Power BI tool: https://support.powerbi.com/knowledgebase/articles/471664 https://support.powerbi.com/knowledgebase/articles/471664 (which looks super amazing by the way for an office product, is free, and I want to have a reason to actually use it...) It's strange that they didn't even mention those possibilities in the post. I see how they could try to improve a lot in those approaches however.
- tycho01 11y agoIn fact, Power Views stored on SharePoint can be embedded into PowerPoint from my understanding. ... which unfortunately complicates things, but yeah.
- rajacombinator 11y agoJust from looking at the pics on the blog post, it looks much less simple or intuitive than writing a few lines of python. There's a lot of money to be made selling such things to enterprises that don't know better though.
- ultix 11y agoSo let's get this right...they couldn't write a stable IDE (reaching version 1.0) without re-writing it several times, inventing crazy tools to get around their platform limits (Lighttable runs on NodeJS?!?). And now they expect us to think they can revolutionize computing not just an IDE? Sorry, but this project is way to ambitious and run by people who have way to weak of a track history to inspire confidence. Go back and finish what you started on, and what you took money for, instead of taking more funding for an even bigger project. Reminds me of half the Kickstarter games these days: "whelp that didn't work, good thing we don't have to give you your money back!".
- Sukotto 11y agoKudos for putting a link to basic info at the top of your post. I wish everyone did that (just make it part of your blog template).
- CmonDev 11y agoI wonder if he will finish this one...
- moea 11y ago"topmind" strikes again!
- chilicuil 11y agoThe quick instructions didn't look really quick to me, so I created a vagrant setup for those who don't want to install TypeScript, Rust Nightly, and multirust in its local machines. $ git clone --depth=1 https://github.com/chilicuil/eve-vagrant https://github.com/chilicuil/eve-vagrant && cd eve-vagrant $ vagrant up #this may take a while $ xdg-open http://localhost:8080/editor http://localhost:8080/editor The above uses a plain precise 32 box and install eve and its dependencies in the provisioning phase, I've also created a modified box (583MB) with eve dependencies hard-coded, which could serve better those who don't have precise32.box anyway. $ git clone --depth=1 https://github.com/chilicuil/eve-vagrant https://github.com/chilicuil/eve-vagrant && cd eve-vagrant/partial $ vagrant up #this may take a while but not as much as the above $ xdg-open http://localhost:8080/editor http://localhost:8080/editor ```