Re: [Bro-Dev] Final Broker branch testing

2018-04-30 Thread Keith Lehigh
I’m able to get this built and running on FreeBSD 11.1 .

- Keith

On 26 Apr 2018, at 11:16, Jon Siwek wrote:

> The latest version of the new Broker-ized cluster/communication system
> for Bro in 'topic/actor-system' branch is wrapping up and, in my
> opinion, ready to be merged into Bro's 'master' branch.
>
> However, since it's such a big change, I'd like a last round of feedback
> before merging.  If you want to test, the build process should now be as
> simple as:
>
> $ git clone --recursive --branch=topic/actor-system git://git.bro.org/bro
> $ cd bro && ./configure && make
>
> Configuring BroControl is not any different from before.
>
> If you had custom scripts, they may require porting.  There's a guide
> and examples for that at [1] and [2] (hyperlinks in those docs will
> render more nicely when it's up on bro.org).
>
> Though, for this round of testing, I'd be most interested just in any
> general stability issues or major feature breakages from a vanilla Bro
> installation.  Mild performance issues, minor bugs, or other issues w/
> porting custom scripts are things I think we can iron out even after
> merging into 'master'.
>
> - Jon
>
> [1]
> https://github.com/bro/bro/blob/topic/actor-system/doc/frameworks/broker.rst
> [2] https://github.com/bro/bro/tree/topic/actor-system/doc/frameworks/broker
> ___
> bro-dev mailing list
> bro-dev@bro.org
> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


smime.p7s
Description: S/MIME digital signature
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Jon Siwek


On 4/30/18 9:54 AM, Robin Sommer wrote:

> One additional piece of context here: That vector(...) syntax could
> then be used more broadly in the sense of creating a different
> semantic context for the operations inside. That kind of opens up a
> whole new set of of type-specific operator meanings, without affecting
> current/standard ones (it's like introducing R inside parentheses :-).

Yeah, framing it as type-specific operators makes sense.

> It's not the super-great, but at least it's explicit and we couldn't
> come up with anything better if we want to have such operations as
> operators. Might work for some other types as well.

Isn't the existing "v + e" an alternative that one could say is "better" 
?  Other languages also take that to mean "vectorized/array operation".

I think for Bro, it's just that vectorized/array operations will be a 
less common use-case than appending and so there's incentive to make the 
later more succinct?

Just to put it out there again: I wouldn't mind something like 
"append(v, e)" and leaving the existing vector operations like "v + e" 
alone.  It may make the common case more verbose, though there's also 
less ambiguities.

- Jon
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Robin Sommer


On Mon, Apr 30, 2018 at 07:10 -0700, you wrote:

> Okay, I can live with this as long as '|' and '-' support add-to-set and
> remove-from-set.   But I think those have to work, given we'll enable them
> for operations on two sets.

Well, my vote then remains not adding new set operators for
add/delete, so that we don't have multiple ways to do the same thing.
Just looked at Python again, as a data point: That's what they do,
too. There are '|'/'&'/'-' for set/set operations, but no versions of
those for individual elements (they do that through methods instead;
add/delete are kind of our version of methods). Same for Ruby. I
looked around for a few more minutes for other languages, but didn't
immediately find any that even have any set operators at all (only
methods/functions for union/intersection/etc.).

Robin

-- 
Robin Sommer * ICSI/LBNL * ro...@icir.org * www.icir.org/robin
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Jon Siwek


On 4/30/18 9:10 AM, Vern Paxson wrote:

> The question then was what would be the new "v op e" syntax.
> The best we could come up with (which we both found not-too-awful) is
> "vector(v op e)".  Wrapped in "vector(...)", the operation becomes the
> current semantics (apply "op e" separately to each element of v).

Maybe "vectorize(v op e)" ?

Implies implementing via SIMD instructions.

> "v op e" by itself would now be an error (which could point the user
> at the "vector(...)" syntax as possibly providing what they're looking
> for).  "v += e" would be "append e to v".

That still seems odd to me.  If "v += e" means "append", then I might 
expect "v + e" to do the same, except producing a new value w/ original 
vector not modified.

Maybe that's a less common use-case, though, and so "v op e" being an 
error would be less weird than suddenly changing the meaning of that 
operation.

- Jon
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Johanna Amann


On 30 Apr 2018, at 11:13, Robin Sommer wrote:

> On Mon, Apr 30, 2018 at 07:10 -0700, you wrote:
>
>> Okay, I can live with this as long as '|' and '-' support add-to-set and
>> remove-from-set.   But I think those have to work, given we'll enable them
>> for operations on two sets.
>
> Well, my vote then remains not adding new set operators for
> add/delete, so that we don't have multiple ways to do the same thing.
> Just looked at Python again, as a data point: That's what they do,
> too. There are '|'/'&'/'-' for set/set operations, but no versions of
> those for individual elements (they do that through methods instead;
> add/delete are kind of our version of methods). Same for Ruby. I
> looked around for a few more minutes for other languages, but didn't
> immediately find any that even have any set operators at all (only
> methods/functions for union/intersection/etc.).

Yup, I think I concur.

Johanna
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Robin Sommer


On Mon, Apr 30, 2018 at 07:10 -0700, you wrote:

> "vector(v op e)".  Wrapped in "vector(...)", the operation becomes the
> current semantics (apply "op e" separately to each element of v).

One additional piece of context here: That vector(...) syntax could
then be used more broadly in the sense of creating a different
semantic context for the operations inside. That kind of opens up a
whole new set of of type-specific operator meanings, without affecting
current/standard ones (it's like introducing R inside parentheses :-).
It's not the super-great, but at least it's explicit and we couldn't
come up with anything better if we want to have such operations as
operators. Might work for some other types as well.

Robin

-- 
Robin Sommer * ICSI/LBNL * ro...@icir.org * www.icir.org/robin
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Vern Paxson
> I think I actually would prefer just keeping add/delete, at least for
> sets, and not introduce the plus-syntax.

Okay, I can live with this as long as '|' and '-' support add-to-set and
remove-from-set.   But I think those have to work, given we'll enable them
for operations on two sets.

Vern
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


Re: [Bro-Dev] set and vector operators

2018-04-30 Thread Vern Paxson
> It especially feels weird to me if v + e and
> v += e are operations that perform something completely different.

Yeah, I hear you.  OTOH, I *really* would like a succinct way to say "add
this to the end of this vector", it's such a common idiom.

Robin and I discussed this a bit.  Our ultimate thinking was along the
lines of:

(1) likely there's no significant use right now of "v op e" semantics,
given how none of us initially remembered it

(2) down the line such semantics could be quite handy if we start pushing
on vector operations for doing statistical or ML computations (that's why
I added "v op e" in the first place, inspired by how easy R makes these),

(3) "v += e" really is a nice append-to-vector idiom

(4) so how about we change "v op e" into something else to avoid the
conceptual clash w/ v += e, while still having  it available for
the possible uses in (2) above?

The question then was what would be the new "v op e" syntax.
The best we could come up with (which we both found not-too-awful) is
"vector(v op e)".  Wrapped in "vector(...)", the operation becomes the
current semantics (apply "op e" separately to each element of v).
"v op e" by itself would now be an error (which could point the user
at the "vector(...)" syntax as possibly providing what they're looking
for).  "v += e" would be "append e to v".

Do you buy that?

Vern
___
bro-dev mailing list
bro-dev@bro.org
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev