
Try emergent coding - cdvonstinkpot
https://codevalley.com/
======
sgentle
I'm reminded of what Richard Dawkins had to say about the Bicameral Mind book:
"either complete rubbish or a work of consummate genius, nothing in between!"

This website is really rough, the writing is dense and the first rule of video
club is don't get one of the founders to narrate the video unless your CTO is
Morgan Freeman. That said, I think this is just so unbelievably audacious that
it's worth a look anyway.

The concept seems to be to take hardware's supply chain model and use it for
software development. So instead of having one company figure out your
requirements, plan the project and build everything, you use a marketplace.
Each part is put up for bidding by any supplier, meaning you get
specialisation and competition.

Oh, and the suppliers are actually software agents. And "parts" includes
everything from requirements gathering to opcode generation. In essence they
want to build their own industrial revolution for software development, from
scratch, using (basically) DAOs.

Is that possible? I have no idea. My first instinct (and second, and third) is
no. But if it is, it could blow up the entire industry. Rubbish or genius,
nothing in between.

~~~
justusw
I really wonder how software verification works in the case of Code Valley,
e.g. if you order List.append a b, how do you know it won't return List.append
b a?

This could perhaps be a great application for Idris-Style dependent types. For
example, you could create an RFP for "List.append" with a few constraints,
`len(append(a+b)) == len(a) + len(b)` and so on and then know that the market
will create something you can automatically verify to a certain degree.

~~~
jlovisa
Hi, I'm one part of the Code Valley team. Happy to answer questions.

Any developer can vet suppliers before they automate an agent to contract
them. For example, you could contract the agent you're looking to vet, hit
'build' and be returned a small program to carry out List.append a b. If the
program works as you expect, you have then verified (in that instant of time)
that the supplier is sound, and can proceed to building your own agent to
contract it.

------
simple10
This reminds me a lot of when Joe Firmage[1][2] created Many One as a portal
for all mankind (and aliens) to access all Earth information by zooming around
a globe. It was plagued with grand vision and hyperbolic prose when in reality
it just wanted to be Google Earth with some plugins.

It looks like the guys behind Code Valley have been working on this for a long
time with patents[3] dating back to 2003. There's probably some sort of
Internet law at work here where the longer an idea has been worked on without
traction, the more hyperbolic the prose becomes in order to maintain
commitment from the founders.

[1]
[https://en.wiki2.org/wiki/Joe_Firmage](https://en.wiki2.org/wiki/Joe_Firmage)
[2]
[http://academyofscienceandarts.org/videopage](http://academyofscienceandarts.org/videopage)
[3]
[http://www.freepatentsonline.com/y2006/0161888.html](http://www.freepatentsonline.com/y2006/0161888.html)

------
md_
Holy fuck, that reads like something written by TimeCube Guy.

I guess the real example is this one:

"For example, the compare::bytesequence::lesser agent, when contracted, will
design the code that will compare two strings. At first glance, a developer
may see that title and assume that the compare::bytesequence::lesser agent
will actually compare one given string against another, but in actual fact,
the compare::bytesequence::lesser agent will return tailored code that
compares two strings."

So, it's template metaprogramming but with confusing terminology? I'm trying
to give this a fair shake, but it doesn't make an argument for why this is a
useful abstraction layer.

~~~
protexilu
it's like having functions, but with someone to write the function for you.
The thing with the market is that you'd know that the code you get is
_verifiably accurate_ and thus, your software will have no bugs.

~~~
strictfp
So, if the signature is fixed, why not just write the function and ship it in
something like, i don't know, a standard library? ;)

------
oliv__
"Code Valley envisions a world where all software projects are designed and
built using a collective effort of developers across the globe, by
automatically pulling in their expertise anew for every project"

Right...like...open source?

~~~
julie_lovisa
Like _automated_ open source.

~~~
oliv__
like npm?

~~~
julie_lovisa
Errr, yeah sure - if npm allowed you to 'write' in any language you wanted (or
even create your own), and if each function you called was also its own
compiler.

------
pasiaj
The video on the website is hilariously bad. Feels more like a parody skit
than a real presentation of the service.

Here's a better one:
[https://www.youtube.com/watch?v=PZCv696rMCk](https://www.youtube.com/watch?v=PZCv696rMCk)

~~~
MichaelGG
That video feels like a viral ad for some new comedy TV show aimed at
developers. You just "select features" then a "network of developer bots"
contract out recursively until they contract developer bots to build
individual bytes. Then they "join bytes together" into "one long string of
bytes".

This has to be a scam, a joke, performance art -- something like that.

Edit: After reading the website more in depth, I am not sure anymore. I get
the sinking feeling it's one of those situations where someone has an idea
that might in some way make sort of sense but not really, but they somehow
have a circle of support that funds or helps them do "stuff". Maybe even
picking up some true believers as investors?

For instance, I was contacted about an opportunity to work on a firewall "that
uses soundwaves for data so it's hacker proof". They claimed they could break
AES at will (hence the need for sound-encrypted data). They had lots of promo
materials built, and had spent years on the idea. Had a sales guy/evangelist
getting people interested. Even had prototype hardware.

~~~
jlovisa
I'm part of the team at Code Valley and would be happy to answer any of your
questions... and help allay that "sinking feeling" as best I can.

------
jasonzwalker
That site needs an "Explain it to me like I'm 5" section.

And a little more detail than "Oh my god! where are your parents?"

~~~
jlovisa
Did you get a chance to check out this "How it works"
([https://codevalley.com/documentation#howdoescodevalleywork](https://codevalley.com/documentation#howdoescodevalleywork))
section?

~~~
md_
At a short read, I still don't understand what the source code of an agent
looks like. Do you have an example?

~~~
julie_lovisa
Errr... I can, but it will not be the 'source code' that you likely had in
mind :).

I'll take what I said in another comment in this thread:

"This system bootstrapped itself (and achieved PoC at the same time) back in
2013. Agents are built by agents. There is a special agent that sits on top of
this hierarchy of agents that is designed to specifically capture a
developer's requirements for their agent (what it should ask its client, what
decisions it should make, and who it should contract) and translate these
requirements to contracts to agents which will ultimately build that developer
his agent. (The recursion is a killer sometimes, isn't it?)

This special agent that sits on top of the hierarchy is called the 'Agent-
builder' and will feel to a developer like an IDE or visual programming
language (designed specifically to design agents)."

Out of curiosity, have you signed up to try your hand at building a few
agents? I can personally guarantee you an invite, and once you have those
login details, you will be able to see an interactive example expression of an
agent. This expression is the closest thing this system has to the 'source
code' you are referring to.

~~~
md_
No, I have not. And I will aggressively defend my ignorance! I'm reasonably
well-versed in, like, computers and stuff. So if I can't understand the idea
with screenshots and examples, it doesn't invalidate the concept, but it is a
bit...odd.

Anyway, I can give it a try if I have time, but surely you can provide a more
concrete example than this. For example, what does the "string reversal" agent
look like?

~~~
julie_lovisa
Sure, here are some examples: (Note, they use the old term for agent, which
was 'vendor'.)

* Conceptual vs actual expression of an agent that will compile code that clears a string - [https://www.youtube.com/watch?v=MlwjHQQgNRQ](https://www.youtube.com/watch?v=MlwjHQQgNRQ) (voiceover)

* Actual expression of an agent that will compile code that computes an exponentiation result - [https://www.youtube.com/watch?v=Fmwcs1fu6wM](https://www.youtube.com/watch?v=Fmwcs1fu6wM) (no voiceover)

* Actual expression of an agent that will compile code that adds a bit to a bit array - [https://www.youtube.com/watch?v=RCg8cOZyADE](https://www.youtube.com/watch?v=RCg8cOZyADE) (voiceover)

~~~
md_
Thanks. So in terms of actual "programming," it's just a visual programming
environment, right?

Do you have any examples of anything "complex" being written with this?

~~~
julie_lovisa
Yeah, a visual programming environment tailored specifically to 'capture' a
developer's requirements for their agent; what it will ask its client, what
decisions it will make, and who it will contract as a result.

> Do you have any examples of anything "complex" being written with this?

You could argue that an agent itself is a complex thing being created using
this technology :). A developer expresses their requirements using that visual
domain-specific programming 'language' that you saw, and then these
requirements are translated to contracts to agents that will end up building
the developer his agent. (Recursion... it's a killer sometimes.)

But for an example that you can actually relate to, here
([https://www.youtube.com/watch?v=U6jtCVOQiuA](https://www.youtube.com/watch?v=U6jtCVOQiuA))
is a cut-down version of our corporate website (with back-end server) being
built as a single program by contracting about 8 agents from the behaviour
layer (the 'domain-specific' layer of the network). Please note that this
example uses our old interface so it looks a little rough compared to the
current interface.

(These agents exist in the previous iteration of the network, and are now
defunct. We are working our way up to these agents in the current public-
facing iteration of the network, so that the community of developers can join
and build their own agents.)

------
CapacitorSet
Is there a technical, non-commercial introduction that isn't filled with too
much marketing hype?

~~~
julie_lovisa
Have you had a chance to check out the Interactive Tour
([http://marketplace.codevalley.com/use-
it](http://marketplace.codevalley.com/use-it))? It shows only one side - how
to _use_ agents to build software, but once you're familiar with that, you can
request an invite to see the other side: how to build your own agents.

------
adjkant
This idea is crazy, and if distilled properly, could do a ton. This iteration
is most certainly not going to be a part of it. I suspect we are decades to
centuries off of this being realized.

Why one decided to make a completely new vocabulary that feels incredibly
inaccessible to even the technical audience is beyond me.

------
GnarfGnarf
If you develop an app based on this network of contractors, how can you be
sure they'll always be around to support your app? Do you make a local copy of
the foreign app? What if they increase their fees and hold you up for ransom?

~~~
julie_lovisa
This technology allows developers to build agents that compete with each other
for client business. If an agent disappears and it was the only one published
under its classification and there is a client now without a supplier, that
represents tangible demand. How long do you think it would take for another
enterprising developer to come in and fill that void?

And you don't need to worry about suppliers increasing their fees and holding
you ransom... again, that represents demand: another enterprising developer
can come in and fill your need for a more reasonably priced service and
undercut the exorbitantly priced supplier (who will likely go out of business
quick-smart).

------
duckingtest
Awesome idea, was thinking about something like that for a long time. Not sure
about implementation though. You can define algorithmic problems in a
declarative way, but what about the rest, ie. 99% of actual work? Like a
website. To verify that a result is good would require a human-level ai.

Instead of a hello world example in a video I would like to see a high-level
example for something really complex, like:

"The site you're currently viewing is served by a web-server that was designed
and built by this network of agents in 12 minutes."

ok then, how high level and reusable that code actually is? Show it.

~~~
julie_lovisa
We do. Here is a cut-down version of it being expressed and built:
[https://www.youtube.com/watch?v=U6jtCVOQiuA](https://www.youtube.com/watch?v=U6jtCVOQiuA)
(Note: it uses our old interface, so it is a little rough.)

~~~
duckingtest
All I see is a form-based code editor with autocomplete + templates. The
underlying model seems very low level: eg. at 2:45, manual input of size in
bytes - wtf.

Is that video really supposed to show the power of this thing?

~~~
julie_lovisa
Since there is no compiler, all maximums must be specified at the root client
(or injected based on other information by suppliers on the way 'down').

That visual template you saw was actual contracts to agents in the network. As
soon as the expression is built, these agents receive contracts and the hive
compiler begins forming. Bytes return shortly thereafter.

This technology does still have a long way to go, but it has the potential to
do some powerful things. Right now though, we (the Code Valley team and
developers who have joined and are joining) are still in the phase of
populating the lower layers of the network. We are working our way up... when
the behaviour layer (the 'top' layer) is populated with agents, the 'power'
you are looking for will be more clear.

------
new299
I really feel like there is something genuinely interesting here.

However I've read the main page, looked at 3 videos. Tried the demo... I still
don't really understand what's going on.

Now, it is 6am and I've been up all night working on a project. But if I'm
really trying to understand what's going on and it's not clicking /at all/
then it probably means there's a problem with either the description or the
model itself.

~~~
julie_lovisa
I'm part of the Code Valley team. I really appreciate you spending so much
time trying to understand the technology. If things aren't clicking, that is
my fault, and I will do my very best to help clear up any confusion. Have you
had a chance to check out the User Guide
([https://marketplace.codevalley.com/use-
it](https://marketplace.codevalley.com/use-it)) or the Interactive Tour
([https://marketplace.codevalley.com/use-
it/module0-step1](https://marketplace.codevalley.com/use-it/module0-step1)) at
all? When/if you get a chance to check them out, please don't hesitate to
email me with any further questions you have (julie@codevalley.com).

------
SuperPaintMan
The slide deck is slightly less confusing.

[https://marketplace.codevalley.com/use-
it/](https://marketplace.codevalley.com/use-it/)

~~~
lgas
...but is hidden behind a login.

~~~
julie_lovisa
There are two sides to this technology: the users (those who use it to build
programs - the demand), and the contributors (those who build the agents that
build software - the supply).

The User side of things does not require a login. You can learn more about how
to use the technology in the User Guide
([https://marketplace.codevalley.com/use-
it](https://marketplace.codevalley.com/use-it)) and in the Interactive Tour
([https://marketplace.codevalley.com/use-
it/module0-step1](https://marketplace.codevalley.com/use-it/module0-step1)).
If you pick that up pretty quickly, you can request an invite to join the
other side and become an agent builder
([https://marketplace.codevalley.com/signup](https://marketplace.codevalley.com/signup)).

The only reason we have the invite-only mechanism in place is to ensure the
integrity of the contributors. The system is so new, and reputations are still
being developed; new contributors must be assured of some measure of the
calibre of other contributors.

------
justusw
So is this something like numer.ai but for code?

~~~
cdvonstinkpot
Wow- _love_ that snow graphic they've got there...

~~~
SuperPaintMan
Ctrl-Alt-Down ;)

