1,080 karma · joined September 2, 2014
Author of: https://github.com/mech-lang
Past Projects:
https://github/witheve
Chris has a keynote at splashcon 2018 about this: https://2018.splashcon.org/event/splash-2018-keynotes-agains...
I'm trying to pen some of my thoughts as well, but it's taken a long time to try and distill some of these things into something comprehensible. Sometimes I don't even understand why we did some things :P
> From my outsider perspective, it seems like you were trying to build a "silver bullet". For example, both FiveSquare Eve and WikiEve look promising. FiveSquare could be a great WYSIWYG website/app builder. WikiEve could be a great note taking tool. Just because they aren't the future of programming, doesn't mean they aren't useful!
I think you're right about that. I think several times we could have taken a prototype Eve and made it a product people would have paid money to use. Many people said "Why don't you just make relational excel, that would go a long way to being a good useful product" and we basically did that in Grid Eve.
But every time we were tempted to monetize some artifact of Eve and call it a business, we had to remind ourselves that what we had didn't really address the original problem: programming needs to be easier. And this was the right move, because if we had stopped at WikiEve or Grid Eve or whatever version and iterated on it until it was a product, then we would have missed out on learning a lot more.
> It seems like the team never was able to close the loop on the human outcomes of what their product was supposed to enable.
What we really wanted from Eve was to define programming in a way that didn't feel like programming. We got close to this feeling in FiveSquare Eve and WikiEve. Smalltalk Eve (that's not what we called it, but what the article calls it) was probably the closest we got to this ideal, but unfortunately we didn't have enough runway to flesh it out.
When we produced this video (https://www.youtube.com/watch?v=TWAMr72VaaU) for the v0.2 release, we actually went though the LT kickstarter video and tried to deliver on the promises made there. I think at one point in the office we had them going side by side, showing the promise in LT and the reality in Eve.
What was different in Eve was that the entire language was unordered, and thus you don't need a tool-chain to read literate source -- the raw source itself is literate.
After writing countless programs in this style, which is very different from conventional programming, I have to say the Mario example is a nice demo, but in reality we didn't find time-travel useful in scenarios like that. What was infinitely useful though, was being able to trace the provenance of different values in your program for debugging. Since we kept information around that the compiler usually throws away, we could tell you exactly how a value or UI element was calculated, and give you tools for interacting with that history that just aren't possible in other languages. For instance, you could encounter a bug, pack up the state of your session, send that over to another dev, and he/she would see exactly the environment in which your code was executing.
You bring up the good point that not everything is written in this way, and so interacting with external code can be tricky. For example, you might have some code that sends out an email every time the system memory reaches a threshold. Now, you might get an e-mail you didn't expect, but you could go back and see exactly why that email was sent, and deduce the bug through the provenance tree.
As I said earlier, after writing programs in this style for 3 years, I'm utterly convinced we won't be programming in the future the way we program today. There were versions of Eve where we wrote very complex applications, from webapps to robotics, that didn't even feel like programming -- it felt more like forming a shape out of clay, where the clay in this case is a digital "material".
In the end, Eve couldn't get more funding because it wasn't a venture that was really set up to fit into the VC mold (and I'm still not sure how Chris and Rob convinced VCs to fund them in the first place), but I'm absolutely sure the current way of doing things will fade with time. It's going to take a lot more research and a lot more convincing, because there are a lot of people out there that for some reason don't want to see projects like this work, but as someone who went down the rabbit hole and gotten a glimpse of this future, I really just can't fathom how humans could be working with languages held back with so much baggage from the early days of computing in the year 2100 for example.
I'm curious though, why you suggest for a language to work like this you have to abandon Turing Completeness. This wasn't my experience at all, and we implemented a Turing Machine in Eve just to prove we were TC (http://incidentalcomplexity.com/2014/12/01/nov/).
Right, that would be an argument, but not one that's on the table. The Republicans and the President justified the tax cuts not by saying they would subsequently reduce spending, but by saying the cuts would invigorate the economy so much, any reduction in revenue directly caused by the cuts would be offset by gains in GDP.
This is true, and one of the reasons we opted to look at the acquisition route rather than raising another round; with raising another round, a whole lot of expectations would be attached to that surrounding growth, while we were still operating heavily in a research capacity.
Languages like Rust and Go that have nice corporate incubators are a great model, but these languages tend to serve their corporate benefactors in some direct way. It's hard to pitch a greenfield project like Eve, because there's no real great way to quantify the benefits of a language before it's been fully realized.
I feel that politics in general is a field where sociopaths can thrive. There's a lot of backstabbing, deal making, and pandering I think fits well with that mindset at all levels of government. I think the same could be said for wall street as well.
The problem can be attacked from two angles. Either ramp up housing development to take care of the population influx, or slow down the population influx to match the rate of housing development. Obviously, the people of the area have a vested interest in keeping the area attractive; but for the rest of us, I think it's important to remember there are other places to live and you can be just as happy or happier elsewhere. I'm someone who could have used that reminder a year ago.
There's a lot of justification that goes into paying $3000 per month to live in a one bedroom apartment. You have to recoup that value elsewhere. A lot of it has to do with the job opportunities available to tech workers. That's undeniable. But some of the other justifications I used were more or less lies I started telling myself about why I had to stay.
> Are you proposing that everyone in SF move to places like the Central Valley (driving up price)
It's already happening, so maybe we should embrace it as a valid option. The town I'm living in has become sort of a telecommuter town, precisely because of rents in SF.
> and start driving around cars (increasing traffic and pollution)?
I actually went about 8 months without a car in SF. I took Uber, bike, and muni as my get around. Between me and my wife, we were spending $700 per month on transportation, so we ended up buying a car to get around -- it was just more convenient. Out in the valley, we actually put fewer miles on it, because it's easier to bike out here, and things are actually closer to us than they were in the city (both in miles and minutes).
I'd be interested to hear your reasons. For me, I'm the exact opposite. In the 3 years I've lived in CA, I haven't had bronchitis once, which used to happen almost every year on the east coast. Not having to deal with 14 degree weather and snow is one of the main reasons I moved away. For me, so much happiness flows this simple fact.
That, plus people assaulting my wife on the street, plus $3000 rent for a 1 bedroom, and I had it with the city. I loved it, it was a great experience, but I just couldn't take it anymore. Now I work from home in the central valley, where I can afford to rent a 3000 sq. ft. home (not because I'm paid much, but because housing is so cheap), and my commute is 1 minute. I'm much happier out here, yet I find when I tell people from SF where I live, some (not all, most people ask "Where the heck is that?") wrinkle their noses. I say, if you're tired of the city, give it a shot -- you might be happier.
If anyone is interested, we open sourced all of the design files, with instructions on how to build a car of your own for around $900 (at the time, this was several years ago): https://vaderlab.wordpress.com/roscar-robot-stock-car-autono...
Here is a video of the results from the semester. One group was able to max out the speed on the car, which at scale is equivalent to 128 MPH: https://www.youtube.com/watch?v=jwRjv3D7lGo
> if the child values learning
Big if there. Kids aren't really the ones who understand the value of learning. Give a kid with the ability to read the Internet and say "have at it" will probably not result in an educated child.
> When a flamingo shifts onto one leg, two things happen. First, the leg inclines so that the foot moves from being directly under the hip to being directly under the center of the body. Second, the center of mass moves to just in front of the flamingo’s (hidden) knee, so its body weight naturally pulls the hip and knee forward. These two changes, combined with gravity’s pull and the shape of the leg bones, keeps all the joints in place.
Some more info:
https://en.wikipedia.org/wiki/Albatross#Morphology_and_fligh...