Live data from Hacker News

Eve Version 0

chris-granger.com

91–100 of 195 posts

Re: Eve Version 0

#91
post #88

So 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…

Check 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/visualProg...

Re: Eve Version 0

#92
Eve 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.

Re: Eve Version 0

#93
I 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!

Re: Eve Version 0

#95
It 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.

Re: Eve Version 0

#96
post #79

Bad name choice. There are already too many better known things called "Eve".

Honestly I thought from the thumbnail this was the very first iteration of Eve Online - Main thought was "Holy damn they put a nice GUI on that spreadsheet"

Re: Eve Version 0

#97
post #50

The 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 c…

I am currently working as an Actuarial Analyst, but I have also worked several years as a programmer. As an analyst the tools I use are excel, access, SAS Enterprise guide and Oracle SQL developer. One of the big problems I face is that we have no good way to abstract away a process and really make it reusable. My general work flow is using SAS to pull data from multiple sources, combine and run the data through some…

I haven't used it extensively, but SQL Server Integration Services (SSIS) looks like it does a lot of the things you're talking about.

Re: Eve Version 0

#98
A few other things to check out in this realm:

http://unisonweb.org/

http://www.selflanguage.org/ (esp. the papers on the UI)

http://www.subtext-lang.org/

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/ (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) right now haha.

Re: Eve Version 0

#100
post #73

The 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…

> 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…

That'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) which we can borrow from.

Post reply on HN