HNHacker News
TopNewBestAskShowJobs

cmontella

1,080 karma · joined September 2, 2014

Github Profile: https://github.com/cmontella

Author of: https://github.com/mech-lang

Past Projects:

https://github/witheve

submissionscomments
cmontella··on A Visual History of Eve: 2014 - 2018
I think that's because FP does a number of things right, like immutability, which leads to better composability of programs. These two aspects were what gave Eve a lot of its nice properties.
cmontella··on A Visual History of Eve: 2014 - 2018
> Are you planning write a postmortem on this project?

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.

cmontella··on A Visual History of Eve: 2014 - 2018
It was important for us to treat Eve (at least initially) as the whole world, because part of our task was understanding the implications of building programs in this different fashion. Datalog applications have a rich design space for tooling, and after 3 years poking around in the space we barely scratched the surface. The interoperability between a datalog world and the current state of things is another great research question, and one we made some good progress on this front with v0.4, but there was still much left to do in the end.
cmontella··on A Visual History of Eve: 2014 - 2018
Don't forget Rob Attorri! He wasn't an engineer, but he was there from day one (cofounded with Chris)!
cmontella··on A Visual History of Eve: 2014 - 2018
You wouldn't really know based on looking at the prototypes, but the underlying language Eve was very similar throughout (as the article states, based on Datalog). The interface to that language varied because we weren't sure what the best interface was, or even if there was the one true interface to rule them all, or a constellation of interfaces and tools depending on purpose and device.
cmontella··on A Visual History of Eve: 2014 - 2018
The mouse is useful for video demonstrations because you can see what operations are being selected. We actually were convinced Eve would be better than most languages for keyboard use because A) most programs were very short, so fewer keystrokes over all and B) most programs could be built with autocomplete. The implication here was that we could enable programming on a phone with very minimal keyboard input, and mostly touch. Madlibs Eve was an example of this, where building a program could be done over SMS or chat.
cmontella··on A Visual History of Eve: 2014 - 2018
From an outside perspective this seems rather random, but we were really methodically exploring a design space. We incorporated different ideas from each IDE into the next. For a long time we were working on the IDE and semantics of the language at the same time, which was really holding us back. Eventually we separated those concerns, and refined the programming model in v0.2. But in each iteration of the language, there was something missing, causing us to try a new angle, or to throw out old assumptions.

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

cmontella··on Eve: Programming designed for humans
> We never did get to see the vision that was presented in that KS...

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.

cmontella··on Eve: Programming designed for humans
There are tradeoffs. The syntax was explicitly designed to be eminently readable, because our target audience were groups who were not traditionally programmers, but who might still be highly technical. For this group of people, they may not take readily to C++, but are instead more comfortable with languages like Python and SQL. Perhaps skimming code suffers from this design, but we thought we could mitigate that by adding other avenues for navigating code, such as a table of contents. We also made some progress in automatically annotating blocks of code based on what they do, to make filtering, sorting, and searching code richer.
cmontella··on Eve: Programming designed for humans
Literate Programming as put forth by Knuth always involved a "tangle" process in which source code and documentation is formatted into a literate document. This is due to the forced order of statements compilers impose on most programming languages.

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.

cmontella··on A transportation engineer has a simple solution to potholes: pave better roads
But we don't really have potholes in CA, at least not the quantity and quality that I experienced living in PA. It's a minefield there right now, so I would imagine freezing is part of the problem, or at least exacerbates it.
cmontella··on Bret Victor – Inventing on Principle (2012) [video]
I worked with Chris on Eve, which was the project he started after he hit a wall with Light Table, that wall being the limitations of programming languages you outline here. Eve did have strict no side effects requirements, and did have the ability to log and rewind programs. The bulk of our work was in nailing down a good set of semantics, and also in figuring out a good way to present those semantics to users (syntax, UI, etc.).

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/).

cmontella··on Dow plunges 1000 points
And #1 has been happening for decades, yet wages have stagnated. So the conclusion is workers can't win?
cmontella··on Dow plunges 1000 points
Who is "they" exactly? The party that spent the past 8 years talking about how deficits and spending are going to destroy the country are currently running things... and looking to increase deficits and spending. Self labeled "fiscal conservatives" just voted for a $1.5T unfunded tax cut, banking on essentially fairy dust (trickle down economic voodoo) to save the budget.
cmontella··on Dow plunges 1000 points
True, but it's rare that a President claims on an almost daily basis that he alone is responsible for the current standing of the stock market specifically. Just last week he claimed had Clinton been elected, the market would have lost 50% of its value.
cmontella··on Dow plunges 1000 points
> To their point though, a person could reasonably support the tax cuts and seek to reduce the deficit on the premise that reduced spending would satisfy the latter over time. Whether or not the current administration is making a genuine attempt to do so is a separate argument and one that their comment did not mention.

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.

cmontella··on Dow plunges 1000 points
The current admin has proposed a multi billion dollar wall (turns out we will pay for that after all), a trillion dollar infrastructure project, and increases in military spending. What is this "reduced spending" you're talking about?
cmontella··on The Eve programming language project is winding down
> because low-end programming is not a short-term growth play. We have to play the long game.

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.

cmontella··on When Unpaid Student Loan Bills Mean You Can No Longer Work
> the federal government is full of assholes is because people let these people get elected at the local level

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.

cmontella··on Tesla Roadster is the fastest production car ever made
A $200k car isn't for most people ;)
cmontella··on Saving San Francisco goes deeper than “build more housing”
It's a 570 ft elevation difference between where I lived and work. Yeah, maybe I need to work out more, but that was just too much for me 5 days a week. Also I didn't like walking through mid market.
cmontella··on Saving San Francisco goes deeper than “build more housing”
> kind of orthogonal and non-scalable to the problem of the Bay Area housing crisis.

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).

cmontella··on Saving San Francisco goes deeper than “build more housing”
> I have realized that crappy climate is a poor reason to avoid the move.

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.

cmontella··on Saving San Francisco goes deeper than “build more housing”
I used to live in the dead center of the city, in the Ashbury Heights neighborhood. It took me literally 1 hour to get to work, down town taking muni (fastest time recorded is 40 minutes without any delays and essentially running the "last mile"). This was the longest commute of my life, and I lived 3 miles from work. It would take me just a little more time to walk there. Biking was faster, but more dangerous -- I got hit once (by another cyclist running a light) and that was it for me.

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.

cmontella··on High School Club Builds Self-Driving Vehicle
This is really cool; I'm glad to see this kind of technology reaching younger students. In grad school, we actually built something similar for undergrads to use as part of a robotics course. The idea was to give teams an identical platform, and then race them at the end of the semester to see who did the best job at programming it.

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

cmontella··on Luna – Visual and textual functional programming language
Yeah, we have a lot of the same views about programming, but our focus isn't on data science. We can definitely agree that the practice of programming in the future won't look like it does today.
cmontella··on Teachers must ditch 'neuromyth' of learning styles, say scientists
I don't know how wise it is for a child (without having learned the value/practice of critical thinking yet) to gain foundational knowledge on the Internet of all places.

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

cmontella··on Why Flamingos Are More Stable on One Leg Than Two
Right, it still has to eat along the way :)
cmontella··on Why Flamingos Are More Stable on One Leg Than Two
Well, as the article lays out, it's a little more complicated than the leg joints just locking into place. They couldn't figure out how the leg was locking. It's only when they engaged the lock (by picking up the bird by the shin) that they realized the entire body reconfigures to achieve the needed stability:

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

cmontella··on Why Flamingos Are More Stable on One Leg Than Two
Another great example of evolutionary wonders in birds is the albatross. They have a tendon sheath that allows them to lock their wings open. This, combined with their giant wingspan, their relative heft (albatrosses are porkers), and some mysterious sensory mechanism and they are able to take advantage of wind gradients to perform a maneuver called "dynamic soaring", wherein the bird extracts energy from the wind. Scientists have measured the heartrate of soaring albatrosses, and found it to be not much higher than their resting heart rate. Albatrosses use this advantage to journey thousands of miles across the pacific, without landing once.

Some more info:

https://en.wikipedia.org/wiki/Albatross#Morphology_and_fligh...

← PreviousPage 5 of 7Next →