Live data from Hacker News

Eve Version 0

chris-granger.com

101–110 of 195 posts

Re: Eve Version 0

#101
post #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 par…

Well, 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.

Re: Eve Version 0

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

We are having a similar set of issues where I work (insurance industry). Always looking for folks to chat with/discuss similar issues

Re: Eve Version 0

#104
post #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 compil…

Since you mention game development - the architectures behind Love (https://www.youtube.com/watch?v=DPIA2g8T6Hw) and Bitsquid (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.

Re: Eve Version 0

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

Look at my EasyMorph (http://easymorph.com). It's a visual replacement for scripted data transformations. People use it to replace SAS and Visual Basic scripting. It also allows creating reusable modules. Contact me at @easymorph.com if it looks interesting to you.

Re: Eve Version 0

#106
post #104
post #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 compil…

Since you mention game development - the architectures behind Love ( https://www.youtube.com/watch?v=DPIA2g8T6Hw ) and Bitsquid ( 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.

Yeah games are a fun example to work with for such tools. Almost as if game development tools are an 'instance' of the prototype of 'development tools,' and rather than simply working on the abstract class it's nice to work on a prototype then expand. :)

Games also have an aesthetically-minded end point, rather than a solution-minded one, which keeps the focus on aesthetics/human values in focus.

Re: Eve Version 0

#107
post #74
post #62

Earlier quoted context omitted.

Was there a problem inherent to building large applications that you found intractible, or is the shift solely due to focusing on entry-level accessibility?

The shift is primarily due to the fact that relatively few people seemed to want to build large applications, including ourselves. There are definitely some differences between building large apps and these more communication/analysis tasks, but we think the foundation itself applies to both. The language is an adaptation of the Dedalus[1] semantics, which the BOOM lab did some amazing things in distributed systems w…

My take from the abstract of Dedalus is "and adds an explicit notion of logical time to the language"

If you're interested in building a tool that relies on distributed communication and data flow it makes sense to bake a notion of logical time into the the system. Boolean logic has no notion of time. If you propose x != y say, you could be saying that throughout the lifetime of the system x is never equal to y or you could be comparing x to y at this instant in time. It depends of course if these are constants and/or variables.

Type theory shows that different logics map to different type systems so what may be holding programming back is that the logic of a system is not _dynamically_ selectable as the system evolves. Most (all?) programming languages have a simple boolean logic, mutable state, and just tons and tons of syntactic sugar on top of that. Obviously languages like Haskell and Clojure are more advanced (algebraic data types in the former and immutable data structures in the latter) but they still have a fixed/static way of being in the world if you know what I mean.

Natural language shows us that humans use many different types of logic contextually. Logic is not monolithic, maybe Eve is an admission of this?

Sorry if this makes no sense, it's just a hunch that's been percolating for a while.

Re: Eve Version 0

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

It seems like this might be a good fit with what Sandstorm is doing (making personal servers easy to use). Even if I'm writing a program for myself, I still want to access it from multiple computers and share the results.

Re: Eve Version 0

#109
post #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 par…

Do you have any thoughts on how automated tests would work in this world? You mentioned email filters and responders in the OP, and I remember that everytime I start creating filters I quickly hit a point at which debugging or changing them becomes fraught.

Re: Eve Version 0

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

Yes! This is a great niche for them to tackle with better tooling.
Post reply on HN