Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Henry Mensching
I agree with zimbatm. I find the GUIX posts very topical and heavily
geared towards my perceived notion of this mailing-list's mission
(although I'm currently just lurking to hone my Nix).

I admit that I have not looked into fractalide, which could very much
be topical, however some form of guidelines would be helpful
especially in case a future  deluge of "Hey look what I did with
Nix!!!" posts set precedent for a less-than-focused community.

No comment on the fractalide matter though, I do not understand the
situation quite as well as others here.

On Thu, Jan 12, 2017 at 2:42 PM, zimbatm  wrote:
> Ironically I didn't get the original message but now have 10 more emails to
> read, not all of them super friendly. As far as I know there are no explicit
> rules for the mailing list so it's open for interpretation. If we want to
> set more rules then we need a document that we can refer people to, and
> therefor a process to create the document.
>
> Personally I think it's acceptable to post announcement-type emails from
> related projects like fractalide and guix. We are not a super big community
> so let's not split ourselves in smaller pieces. Worst case, add a
> "-fractalide" filter in the email client.
>
> On Thu, 12 Jan 2017 at 14:33 Moritz Ulrich  wrote:
>>
>> stewart mackenzie  writes:
>>
>> > Reusable Functions - They're great, they're just great, you'll love
>> > them.
>>
>> Sneaky remarks like this are totally inappropriate here. Profpatsch
>> asked nicely for a short pitch of your project, and you throw this
>> completely useless sentence into his face.
>>
>> This isn't how you get users for your project. Personally, I'm repelled
>> by your behavior.
>> ___
>> nix-dev mailing list
>> nix-dev@lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
>
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread zimbatm
Ironically I didn't get the original message but now have 10 more emails to
read, not all of them super friendly. As far as I know there are no
explicit rules for the mailing list so it's open for interpretation. If we
want to set more rules then we need a document that we can refer people to,
and therefor a process to create the document.

Personally I think it's acceptable to post announcement-type emails from
related projects like fractalide and guix. We are not a super big community
so let's not split ourselves in smaller pieces. Worst case, add a
"-fractalide" filter in the email client.

On Thu, 12 Jan 2017 at 14:33 Moritz Ulrich  wrote:

stewart mackenzie  writes:

> Reusable Functions - They're great, they're just great, you'll love them.

Sneaky remarks like this are totally inappropriate here. Profpatsch
asked nicely for a short pitch of your project, and you throw this
completely useless sentence into his face.

This isn't how you get users for your project. Personally, I'm repelled
by your behavior.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Moritz Ulrich
stewart mackenzie  writes:

> Reusable Functions - They're great, they're just great, you'll love them.

Sneaky remarks like this are totally inappropriate here. Profpatsch
asked nicely for a short pitch of your project, and you throw this
completely useless sentence into his face.

This isn't how you get users for your project. Personally, I'm repelled
by your behavior.


signature.asc
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Herwig Hochleitner
2017-01-12 14:48 GMT+01:00 Peter Simons :

>
> please speak for yourself. I found Stewart's message both interesting
> and relevant for this mailing list -- much more so than the trolling and
> flaming that followed it. I did not respond simply because I had nothing
> meaningful to say, so please don't include me in that "us" crowd that
> apparently ignores Stewart because I don't.
>

Hereby excluding you from the silent majority. I admit that invoking the
silent majority was bad form and apologize.

In fact, I do find Stewart's project interesting and agreeable, in and of
itself, and I have said as much in a private continuation of this thread.

However, I do continue to find the message completely inappropriate for
nix-dev (for all the reasons I detailed) and I think it's a pity that you
find it relevant, as you have obviously brought more to the NixOS table
than me and Stewart combined, hence are more likely to be heard.

I do like to think that my criticism was on point, if a bit harsh.
Angling to pull maintainers from nix-dev (even if just so perceived)
continues to disgust me deeply, but I'd like to apologize for any flaming
or trolling that I did in response to that.

kind regards
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread stewart mackenzie
Reusable Functions - They're great, they're just great, you'll love them.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Profpatsch
On 17-01-12 09:16pm, stewart mackenzie wrote:
> Reproducible functions adds a new vertical design space to Nix/NixOS,
> it's pretty huge in my books, given that monolith apps can be combined
> in only a certain amount of ways. Next came the reproducible
> libraries, which can be combined into even more ways. Now this new
> feature introduces a whole new level of mix-and-matchability.

I didn’t want to appear condescending, I just saw a big (very big)
wall of tl;dr text and a quick overview and why this is interesting
to Nix(OS) developers would be very helpful.

Can you provide a pitch in two sentences?
(that will be important to tell people about your probably very
interesting idea in general!)

-- 
Proudly written in Mutt with Vim on NixOS.
Q: Why is this email five sentences or less?
A: http://five.sentenc.es
May take up to five days to read your message. If it’s urgent, call me.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Peter Simons
Hi Herwig,

 > Profpatsch is actually being quite courteous by politely pointing out
 > that your message fails to be relevant to nix-dev, instead of
 > ignoring you, like the rest of us do.

please speak for yourself. I found Stewart's message both interesting
and relevant for this mailing list -- much more so than the trolling and
flaming that followed it. I did not respond simply because I had nothing
meaningful to say, so please don't include me in that "us" crowd that
apparently ignores Stewart because I don't.

Best regards,
Peter

___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Moritz Ulrich
stewart mackenzie  writes:

> Nix's very existence revolves around solving an insanely hard problem,
> that of reproducibility, it's the only project that actually gets it
> right.
> Reproducible monolith apps have _everything_ to do with Nix/NixOS
> Reproducible libraries have _everything_ to do with Nix/NixOS

Yes, you're using Nix in your project. I'm using Nix in my projects too,
as is for example https://github.com/hercules-ci/hercules. 

However, you don't see announcement mails every other day, as they don't
belong to this list. This list is for coordinating development of nix,
not for announcements of random projects using nix.

Maybe - if enough people are interested - we can start a mailing list for
this approach. Not sure if anyone is interested in this, though.


signature.asc
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread stewart mackenzie
On Thu, Jan 12, 2017 at 8:46 PM, Herwig Hochleitner
 wrote:
> ...

Nix's very existence revolves around solving an insanely hard problem,
that of reproducibility, it's the only project that actually gets it
right.
Reproducible monolith apps have _everything_ to do with Nix/NixOS
Reproducible libraries have _everything_ to do with Nix/NixOS

Reproducible functions adds a new vertical design space to Nix/NixOS,
it's pretty huge in my books, given that monolith apps can be combined
in only a certain amount of ways. Next came the reproducible
libraries, which can be combined into even more ways. Now this new
feature introduces a whole new level of mix-and-matchability.

As for stealing from the community, this is not a zero sum game. I'd
suggest otherwise, it promotes adoption of Nix/NixOS. There are sane
development processes and software architecture principles there.
Should a company choose to adopt developing their servers in this
style it increases the Nix/NixOS community by one more company, it
also saves them boat loads of firefighting, bugs, bad architecture,
bloat and all sorts of nastiness down the line.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Herwig Hochleitner
2017-01-12 13:20 GMT+01:00 stewart mackenzie :

>
> Reusable and reproducible functions have nothing to do with Nix/NixOS?
>

Not in particular with nix-dev, they don't.

What about reproducible libraries?
>

Nope.


> What about reproducible monolith apps?
>

No. Why not try posting about some haskell project to ghc-dev? It has
functions hasn't it?


> This is a _new_ concept to the Nix/NixOS
>

That's kind of my point. The way you're _presenting_ it, your aim doesn't
seem to be contributing to NixOS, but stealing away motivated people that
have time and energy for maintaining OSS projects.

If you were actually interested in adding to nix-dev, you might be talking
about how lessons from your project could apply to Nix and how we could
drag NixOS even further into the 21st century, but instead you want a
maintainer for a completely unrelated project. And that right on the heels
of us having (thankfully, THANKFULLY) found a new release manager (an issue
that got me genuinely concerned, and many others too, I'm sure).

It just comes across as a sleazy freeloading attempt, don't you get that?

If I could still help you understand my issue any better, please don't
hesitate to contact me off-list.

kind regards
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread stewart mackenzie
So let me understand this clearly.

Reusable and reproducible functions have nothing to do with Nix/NixOS?

What about reproducible libraries?
What about reproducible monolith apps?

This is a _new_ concept to the Nix/NixOS
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Herwig Hochleitner
2017-01-12 12:08 GMT+01:00 stewart mackenzie :

> On Thu, Jan 12, 2017 at 7:03 PM, Profpatsch  wrote:
> > Not sure what this has to do with nix-dev?
>
> tough crowd, tough crowd.
>

Hi Stewart,

Profpatsch is actually being quite courteous by politely pointing out that
your message fails to be relevant to nix-dev, instead of ignoring you, like
the rest of us do.

Look at it this way: Your sending a simple mail to this list potentially
bumps the hard-earned inbox-zero of _hundreds_ of people, all of which
signed up for the express purpose of keeping up with Nix and NixOS
development. By diluting relevant content in this list, you make it more
likely for people to disengage, thus draining the very lifeblood of the
community.
For this reason, it is unacceptable in any community I can think of, to
post job-offers to the dev list, let alone unpaid ones, let alone in
long-winded page-turners.

There are many, more appropriate places for such offers, including #nixos
and /r/NixOS/

I get that you're excited about your project and want to see it grow (just
the same as all of us feel about our pet projects) and I'm sorry for
wording this message so sharply. It's just, I've seen you repeatedly
demonstrate having trouble adjusting to community norms on this list. That
in and of itself is forgiveable, many hackers share that trait, including
myself. Though, when called on it, you could take a course of backing off
politely in the future, instead of laying blame on everybody else.

kind regards
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread stewart mackenzie
On Thu, Jan 12, 2017 at 7:03 PM, Profpatsch  wrote:
> Not sure what this has to do with nix-dev?

tough crowd, tough crowd.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-12 Thread Profpatsch
On 17-01-11 11:34pm, stewart mackenzie wrote:
> Greetings all,

Not sure what this has to do with nix-dev?

-- 
Proudly written in Mutt with Vim on NixOS.
Q: Why is this email five sentences or less?
A: http://five.sentenc.es
May take up to five days to read your message. If it’s urgent, call me.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Call For Maintainers - Fractalide BETA release

2017-01-11 Thread stewart mackenzie
Greetings all,

So after some 946 commits a number of rewrites starting in 2014 when
Fractalide was implemented in a neat programming language called
Mozart Oz, we've gone BETA. At that stage Fractalide was the subject
of a Master thesis for Denis Michiels under Professor Peter Van Roy of
UCL Belgium (Peter is a co-author of the book Concepts Techniques and
Models of Computer Programming). Both Peter and Denis are fantastic
fellows. Since then Fractalide has moved out of academia and into
industry reincarnated as Rust and Nix. I had the good fortune of
meeting Denis face to face in Belgium last year when we had our first
"fraconf" of only two participants! Hopefully this conference can grow
in numbers :-)

It would seem that Fractalide does in fact occupy a very important
part of the industry. Dataflow languages in the form of Ab Initio [0]
serve enterprises and charge a very heavy price tag. A couple of years
ago Google implemented this dataflow programming language called
TensorFlow, it's aimed at Machine Learning but it has other uses. The
NSA also open sourced their dataflow programming language called
Niagrafiles, now renamed to Apache-NiFi.

As each node in Fractalide is essentially a reusable function stuck in
a nix derivation one might say that Fractalide adds "Nixfuncs" to
"Nixpkgs", where nixpkgs are monolith applications that don't
(rarely?) compose and "nixfuncs" are reusable functions that can
compose.

It makes sense this general purpose dataflow language needs to
specialize in creating reusable, reproducible services, the power of
nix makes this quite possible to achieve. It's also a very trendy
area, which can lead into an even trendier area that of the Internet
of S... Things!

There has been a few guiding principles along the path.

1) ensure we have a language that cooperates with a congruent
configuration system.
2) safety both within and outside the application boundary.
3) primitives that make executing in a distributed environment easier
to reason about.
4) fast, fast as greased lightning.

Going BETA means it's a signal to the public that underlying nodes are
headed for stable and their public APIs won't change with a high
probability. After stabilization they won't ever be deleted or
changed. In other words Fractalide is going to be a rock solid
platform to build things on, for decades to come.

We're not yet ready to go STABLE because there are a few things in Nix
that need to happen such as the landing of this [1], which has this:
[2] and nixcrates needs a final round of work elbow work.

We're adopting the Pieter Hintjens style of community, whereby, should
jobs come in they get farmed out to trusted contributing members of
the community. This approach is more like forming an IETF group who
ralley around problems and solve them quickly, efficiently then share
the spoils, going back to their daily lives. These brilliant types of
people rarely tolerate enterprise environments and prefer working
independently or in small groups. Basically our company Noware Ltd. is
giving the Fractalide codebase away to the community, copyright is
spread far and wide to prevent corporate takeover and lockins, so as a
whole the community grows it into highly evolved software. As
Fractalide is so heavily dependent on Nix, it's fair to hand over a
percentage of the earnings to the Nix Foundation to help keep the
lights on.

On that note, if you're in business and you have expensive problems
you want to solve that fit Fractalide's domain please lets get in
touch. I'd like to start repaying favours the nix community has
offered me.

Onto some code.

So this is a contrived example of an NAND `agent`, (it's not a real world node):

#[macro_use]
extern crate rustfbp;
extern crate capnp;

agent! {
  input(a: prim_bool, b: prim_bool),
  output(output: prim_bool),
  fn run( self) -> Result {
let a = {
let mut msg_a = try!(self.input.a.recv());
let boolean: prim_bool::Reader = msg_a.read_schema()?;
boolean.get_bool()
};
let b = {
let mut msg_b = try!(self.input.b.recv());
let boolean: prim_bool::Reader = msg_b.read_schema()?;
boolean.get_bool()
};

let mut out_msg = Msg::new();
{
  let mut boolean = out_msg.build_schema::();
  boolean.set_bool(if a == true && b == true {false} else {true});
}
try!(self.output.output.send(out_msg));
Ok(End)
  }
}

Here is the associated nix code that sets up the dependencies needed
to build the above NAND `agent`

{ agent, edges, crates, pkgs }:

agent {
  src = ./.;
  edges = with edges; [ prim_bool ];
  crates = with crates; [ rustfbp capnp ];
  osdeps = with pkgs; [];
}

This code can be executed by running:

$ git clone https://github.com/fractalide/fractalide.git
$ cd fractalide
$ nix-build --argstr node test_nand
$ ./result
boolean : false

The arguments `--argstr node test_nand` build a file that looks like this:

$ cat /nix/store/kzw9p6a1snkhswwlnzb0i2a5rzg9vymd-test_nand