Re: OSv HTML5 terminal

2017-02-07 Thread Waldek Kozaczuk
I have made many improvements to this app and as of now it pretty much
implements same functionality as the original lua cli. I have also updated
the README so it is clear how to use the app and connect it to any running
OSv instance.

At this moment requires the OSv httpserver to run with CORS enabled
(--access-allow=true like so).

Eventually I would like to make it one of the optional submodules of
httpserver so it can be added like osv-gui is now.

Enjoy,
Waldek

On Thu, Jan 12, 2017 at 1:54 PM, Dor Laor  wrote:

>
>
> On Jan 12, 2017 4:47 AM, "Pekka Enberg"  wrote:
>
> On Thu, Jan 12, 2017 at 2:44 PM, Waldek Kozaczuk 
> wrote:
> > I embarked on a project to create HTML5 app that could act as a simple
> shell
> > environment to OSv same way as cli module does using REST apis.
>
> Looks really nice!
>
>
>
> +1 way to go Waldek
>
>
> - Pekka
>
> --
> You received this message because you are subscribed to the Google Groups
> "OSv Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to osv-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [RFC] jetty build problem on Linux

2017-02-07 Thread Quentin Barnes
> On Mon, Feb 06, 2017 at 11:26:34AM +0200, Nadav Har'El wrote:
> > On Mon, Feb 6, 2017 at 2:35 AM, 'Quentin Barnes' via OSv Development
> > <[1]osv-dev@googlegroups.com> wrote:
> >
> >   I ran acrossed a problem when building the jetty demo on Linux (RHEL
> >   7.3).** I'm not sure why no one else has hit this problem.** That is,
> >   if no one has built this demo on Linux or if something is just unlucky
> >   with RHEL.** I can't imagine anything in the tools though that would be
> >   the latter.
>
> This probably came with 92c1d8254c00dd2f5aaa9ef9bd12ee0fdce5fb79 -
> with that commit we started to strip also things that come with
> applications, not just builtin OSv stuff.

I see.

[...]
> >   In the following RFC mail, I have a good patch that addresses this
> >   issue by removing the libsetuid-osx.so on Linux,
>
> Since OSv runs *Linux* binaries, there is indeed no point in uploading OSx
> binaries to it, so this is correct.

Ah!  Of course!  OSv is effectively cross-build environment with the
target platform being Linux-like ELF.

> >   but my concerns are that it is incomplete. I've wondered
> >   if I similar change might be needed to get it to build
> >   on MacOS by removing the Linux-specific equivalent file
> >   (libsetuid-linux.so) like:
>
> I don't know what this "libsetuid" thing is for (setuid is
> especially silly in OSv which runs things as root, basically), but
> no matter what the build machine is, OSv runs *Linux* binaries,
> so we should upload to the image the Linux binary.

I wondered how the setuid() syscall was handled in OSv.  I looked
at musl's setxid.c and puzzled over it before giving up.  I'd need
to understand OSv's internals to go further, and I didn't have the
time then.

> If OSx cannot
> "strip" such binaries, and if it can't compile Linux binaries, I
> wonder if it's even possible to build OSv on OSx. I never tried to
> make that work, and I'm not sure anyone cares. Let's ignore that
> for now.

If OSv ever gets hosted on MacOS (BSD-ish), it'd need a
cross-compile Linux environment in which to build OSv with, so it
shouldn't see a variation of this error.

I'll submit a new patch that just simply blows away libsetuid-osx.so.

Quentin

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Analytics Lead

2017-02-07 Thread govind ramanujam
Hello,



Hope you are doing great.

We have an urgent below *"Analytics Lead”* position with one of our client
for c2c position at *Chicago, IL.*

If you are interested please share your updated resume along with contact
details to  govind_ramanu...@visionisys.com



*Job Title  :  Analytics Lead*

*Location  :  Chicago, IL*

*Duration  :  6 months*



*Job Description : *



Hands on experience working with Web Analytics and Tag Management System.

Technical Expertise in Custom-code tags in the tag management tools like
Dynamic tag manager, Google Tag Manager or Ensighten.

Creating and testing custom codes, ensuring that tagging implementation is
accurate..

Technical Expertise in custom tracking using web analytics tool like Adobe
Analytics Or Google Analytics.

Technical Expertise in Web technologies like - HTML, CSS, JavaScript.

Experience in digital marketing, campaign analytics and web reporting.

Proficient in MS Excel should be able to understand formulas and pivot
tables.

Managing expectations in data extraction from any analytics tool and
reporting delivery and implementation efforts.

Ability to understand the business context and apply analytical concepts to
provide business solutions.

Collaborate with business, marketing campaign managers to help support a
data-driven approach.

Should be good team player and have experience on leading team.



*Govind Ramanujam*
Visionisys Inc
Direct: 9724531361

Email: govind_ramanu...@visionisys.com  || www.visionisys.com

*Note* : If you have received this mail in error or prefer not to receive
such emails in the future, please reply with "REMOVE" in the subject line
and the email id(s) to be removed. All removal requests will be honored ASAP.
We sincerely apologize for any inconvenience caused

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Technical Lead @ Bellevue, WA

2017-02-07 Thread govind ramanujam
Hello,



Hope you are doing great.

We have an urgent below *"Technical Lead”* position with one of our client
for c2c position at *Bellevue, WA.*

If you are interested please share your updated resume along with contact
details to  govind_ramanu...@visionisys.com



*Job Title  :  Technical Lead   *

*Location  :  Bellevue, WA.*

*Duration  :  6 months*



*Job Description : *



TIBCO

8+ yrs of experience in developing, deploying and supporting complex
computing applications in a large scale environment using TIBCO product.

Toll hands on experience in SOA Environment creating right granular
reusable services hands on experience with XML, XSD, XPath, and XSLT
Mandatory

Technical Skill Set Expertise in Tibco Business Works 5.X  Expertise in
XSLT, JMS/EMS  Hand on Coding experience in Core JAVA  Preferred Technical
Skill Set Previous

experience in Tibco Container Edition / Tibco Business Works 6.x Should
have good knowledge in Pivotal Cloud Foundry Cloud concepts Should have
Good concepts

on Micro services Past hands on experience in Unix, ANT /Maven Scripting
language Hand on experience in TIBCO Business Event will be nice to have.



*Govind Ramanujam*
Visionisys Inc
Direct: 9724531361

Email: govind_ramanu...@visionisys.com  || www.visionisys.com

*Note* : If you have received this mail in error or prefer not to receive
such emails in the future, please reply with "REMOVE" in the subject line
and the email id(s) to be removed. All removal requests will be honored ASAP.
We sincerely apologize for any inconvenience caused

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[PATCH v1 1/3] bsd: evtchn: unused code cleanup

2017-02-07 Thread 'Sergiy Kibrik' via OSv Development
Remove evtchn_do_upcall() and related code, which isn't used anywhere
else and probably never will be.

xen_irq::do_irq() already handles events in OSv-specific way, while
bsd code just contributes duplication and causes some confusion.

Signed-off-by: Sergiy Kibrik 
---
 bsd/aarch64/machine/intr_machdep.h |  1 -
 bsd/sys/xen/evtchn.cc  | 54 --
 bsd/sys/xen/evtchn.h   |  7 -
 bsd/x64/machine/intr_machdep.h |  1 -
 bsd/x64/machine/xen/xen-os.h   |  8 --
 core/xen_intr.cc   |  8 --
 6 files changed, 79 deletions(-)

diff --git a/bsd/aarch64/machine/intr_machdep.h 
b/bsd/aarch64/machine/intr_machdep.h
index c778cfe..b0dcba6 100644
--- a/bsd/aarch64/machine/intr_machdep.h
+++ b/bsd/aarch64/machine/intr_machdep.h
@@ -152,7 +152,6 @@ int intr_bind(u_int vector, u_char cpu);
 intintr_config_intr(int vector, enum intr_trigger trig,
 enum intr_polarity pol);
 intintr_describe(u_int vector, void *ih, const char *descr);
-void   intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);
 u_int  intr_next_cpu(void);
 struct intsrc *intr_lookup_source(int vector);
 intintr_register_pic(struct pic *pic);
diff --git a/bsd/sys/xen/evtchn.cc b/bsd/sys/xen/evtchn.cc
index 57eccff..825695c 100644
--- a/bsd/sys/xen/evtchn.cc
+++ b/bsd/sys/xen/evtchn.cc
@@ -49,9 +49,6 @@ __FBSDID("$FreeBSD$");
 #define mtx_lock_spin(x) do {  mtx_lock(x); } while (0)
 #define mtx_unlock_spin(x) do { mtx_unlock(x); } while (0)
 
-// We don't expose an evtchn device.
-#define evtchn_device_upcall(x) do {} while (0)
-
 /*
  * irq_mapping_update_lock: in order to allow an interrupt to occur in a 
critical
  * section, to set pcpu->ipending (etc...) properly, we
@@ -157,12 +154,6 @@ static bool irq_is_legacy = 0;
 
 static uint8_t cpu_evtchn[NR_EVENT_CHANNELS];
 static unsigned long 
cpu_evtchn_mask[MAX_VIRT_CPUS][NR_EVENT_CHANNELS/LONG_BIT];
-
-#define active_evtchns(cpu,sh,idx) \
-   ((sh)->evtchn_pending[idx] &\
-cpu_evtchn_mask[cpu][idx] &\
-~(sh)->evtchn_mask[idx])
-
 static void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
 {
clear_bit(chn, (unsigned long *)cpu_evtchn_mask[cpu_evtchn[chn]]);
@@ -181,9 +172,6 @@ static void init_evtchn_cpu_bindings(void)
 
 #else
 
-#define active_evtchns(cpu,sh,idx) \
-   ((sh)->evtchn_pending[idx] &\
-~(sh)->evtchn_mask[idx])
 #define bind_evtchn_to_cpu(chn,cpu)((void)0)
 #define init_evtchn_cpu_bindings() ((void)0)
 #define cpu_from_evtchn(evtchn)(0)
@@ -205,48 +193,6 @@ void force_evtchn_callback(void)
(void)HYPERVISOR_xen_version(0, NULL);
 }
 
-void 
-evtchn_do_upcall(struct trapframe *frame) 
-{
-   unsigned int   l1, l2;
-   unsigned int   l1i, l2i, port;
-   intirq, cpu;
-   shared_info_t *s;
-   vcpu_info_t   *vcpu_info;
-   
-   cpu = PCPU_GET(cpuid);
-   s = HYPERVISOR_shared_info;
-   vcpu_info = >vcpu_info[cpu];
-
-   vcpu_info->evtchn_upcall_pending = 0;
-
-   /* NB. No need for a barrier here -- XCHG is a barrier on x86. */
-   l1 = xen_xchg(_info->evtchn_pending_sel, 0);
-
-   while (l1 != 0) {
-   l1i = __ffs(l1);
-   l1 &= ~(1 << l1i);
-   
-   while ((l2 = active_evtchns(cpu, s, l1i)) != 0) {
-   l2i = __ffs(l2);
-
-   port = (l1i * LONG_BIT) + l2i;
-   if ((irq = evtchn_to_irq[port]) != -1) {
-   struct intsrc *isrc = intr_lookup_source(irq);
-   /* 
-* ack 
-*/
-   mask_evtchn(port);
-   clear_evtchn(port); 
-
-   intr_execute_handlers(isrc, frame);
-   } else {
-   evtchn_device_upcall(port);
-   }
-   }
-   }
-}
-
 /*
  * Send an IPI from the current CPU to the destination CPU.
  */
diff --git a/bsd/sys/xen/evtchn.h b/bsd/sys/xen/evtchn.h
index 74767d4..cc231a7 100644
--- a/bsd/sys/xen/evtchn.h
+++ b/bsd/sys/xen/evtchn.h
@@ -26,13 +26,6 @@
  */
 void notify_remote_via_irq(int irq);
 
-
-/* Entry point for notifications into Linux subsystems. */
-void evtchn_do_upcall(struct trapframe *frame);
-
-/* Entry point for notifications into the userland character device. */
-void evtchn_device_upcall(int port);
-
 void mask_evtchn(int port);
 
 void unmask_evtchn(int port);
diff --git a/bsd/x64/machine/intr_machdep.h b/bsd/x64/machine/intr_machdep.h
index c778cfe..b0dcba6 100644
--- a/bsd/x64/machine/intr_machdep.h
+++ b/bsd/x64/machine/intr_machdep.h
@@ -152,7 +152,6 @@ int intr_bind(u_int vector, u_char cpu);
 intintr_config_intr(int vector, 

[PATCH v2 3/3] osv: xen_intr: use evtchn.h

2017-02-07 Thread 'Sergiy Kibrik' via OSv Development
Replace local declaration of unmask_evtchn() and evtchn_from_irq()
with inclusion of evtchn.h where they're declared.

Additionally declare evtchn_from_irq() in header,
as it's used in Xen core interrupt handler.

Include evtchn driver into common build, so that aarch64 code can link.

Signed-off-by: Sergiy Kibrik 
---
 Makefile  |  2 +-
 bsd/sys/xen/evtchn.cc |  1 -
 bsd/sys/xen/evtchn.h  |  2 ++
 core/xen_intr.cc  | 20 +++-
 4 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/Makefile b/Makefile
index 60404ef..6846c5e 100644
--- a/Makefile
+++ b/Makefile
@@ -595,11 +595,11 @@ bsd += bsd/sys/netinet/arpcache.o
 bsd += bsd/sys/xdr/xdr.o
 bsd += bsd/sys/xdr/xdr_array.o
 bsd += bsd/sys/xdr/xdr_mem.o
+bsd += bsd/sys/xen/evtchn.o
 
 ifeq ($(arch),x64)
 $(out)/bsd/%.o: COMMON += -DXEN -DXENHVM
 bsd += bsd/sys/xen/gnttab.o
-bsd += bsd/sys/xen/evtchn.o
 bsd += bsd/sys/xen/xenstore/xenstore.o
 bsd += bsd/sys/xen/xenbus/xenbus.o
 bsd += bsd/sys/xen/xenbus/xenbusb.o
diff --git a/bsd/sys/xen/evtchn.cc b/bsd/sys/xen/evtchn.cc
index 825695c..a33ecf6 100644
--- a/bsd/sys/xen/evtchn.cc
+++ b/bsd/sys/xen/evtchn.cc
@@ -31,7 +31,6 @@ __FBSDID("$FreeBSD$");
 #include 
 
 #include 
-#include 
 #include 
 #include 
 #include 
diff --git a/bsd/sys/xen/evtchn.h b/bsd/sys/xen/evtchn.h
index cc231a7..0891a00 100644
--- a/bsd/sys/xen/evtchn.h
+++ b/bsd/sys/xen/evtchn.h
@@ -30,6 +30,8 @@ void mask_evtchn(int port);
 
 void unmask_evtchn(int port);
 
+int evtchn_from_irq(int irq);
+
 #ifdef SMP
 void rebind_evtchn_to_cpu(int port, unsigned int cpu);
 #else
diff --git a/core/xen_intr.cc b/core/xen_intr.cc
index 45a1869..62aea3a 100644
--- a/core/xen_intr.cc
+++ b/core/xen_intr.cc
@@ -8,7 +8,10 @@
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
+#include 
 #include "bitops.h"
 #include 
 
@@ -21,23 +24,6 @@ TRACEPOINT(trace_xen_irq_ret, "");
 TRACEPOINT(trace_xen_irq_exec, "");
 TRACEPOINT(trace_xen_irq_exec_ret, "");
 
-/*FIXME: use xen/evtchn.h when aarch64 supprted */
-#if defined(__x86_64__)
-void unmask_evtchn(int vector);
-int evtchn_from_irq(int irq);
-#else
-void unmask_evtchn(int port)
-{
-}
-
-int evtchn_from_irq(int irq)
-{
-abort("Not implemented yet");
-return 0; /* keep compiler happy */
-}
-
-#endif
-
 namespace xen {
 
 PERCPU(sched::thread *, xen_irq::_thread);
-- 
2.7.4

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PATCH 2/3] bsd: xen: place __ffs() into proper header

2017-02-07 Thread 'Sergiy Kibrik' via OSv Development

On 02/07/2017 04:33 PM, Nadav Har'El wrote:

I'll commit this patch, but can you please send a followup patch to remove this 
function completely, and either use the existing functions we have doing the 
same thing, or remove the code which uses it (as you suggested)?



I should probably just remove __ffs()-related stuff, so this patch can be 
skipped because it introduces
unneeded __ffs() for x64 (in xen-os.h)

--
regards,
Sergiy

--
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PATCH 3/3] osv: xen_intr: use evtchn.h

2017-02-07 Thread 'Sergiy Kibrik' via OSv Development

On 02/07/2017 04:37 PM, Nadav Har'El wrote:

After this patch, I can't compile on aarch64:

$ make arch=aarch64
...
bsd/sys/xen/evtchn.cc:33:32: fatal error: machine/xen/xen-os.h: No such file or 
directory
 #include 


I will fix that in follow up series.

--
regards,
Sergiy

--
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [PATCH 3/3] osv: xen_intr: use evtchn.h

2017-02-07 Thread Nadav Har'El
After this patch, I can't compile on aarch64:

$ make arch=aarch64
...
bsd/sys/xen/evtchn.cc:33:32: fatal error: machine/xen/xen-os.h: No such
file or directory
 #include 



--
Nadav Har'El
n...@scylladb.com

On Mon, Feb 6, 2017 at 3:45 PM, 'Sergiy Kibrik' via OSv Development <
osv-dev@googlegroups.com> wrote:

> Replace local declaration of unmask_evtchn() and evtchn_from_irq()
> with inclusion of evtchn.h where they're declared.
>
> Additionally declare evtchn_from_irq() in header,
> as it's used in Xen core interrupt handler.
>
> Include evtchn driver into common build, so that aarch64 code can link.
>
> Signed-off-by: Sergiy Kibrik 
> ---
>  Makefile |  2 +-
>  bsd/sys/xen/evtchn.h |  2 ++
>  core/xen_intr.cc | 20 +++-
>  3 files changed, 6 insertions(+), 18 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ad78706..e006d40 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -595,11 +595,11 @@ bsd += bsd/sys/netinet/arpcache.o
>  bsd += bsd/sys/xdr/xdr.o
>  bsd += bsd/sys/xdr/xdr_array.o
>  bsd += bsd/sys/xdr/xdr_mem.o
> +bsd += bsd/sys/xen/evtchn.o
>
>  ifeq ($(arch),x64)
>  $(out)/bsd/%.o: COMMON += -DXEN -DXENHVM
>  bsd += bsd/sys/xen/gnttab.o
> -bsd += bsd/sys/xen/evtchn.o
>  bsd += bsd/sys/xen/xenstore/xenstore.o
>  bsd += bsd/sys/xen/xenbus/xenbus.o
>  bsd += bsd/sys/xen/xenbus/xenbusb.o
> diff --git a/bsd/sys/xen/evtchn.h b/bsd/sys/xen/evtchn.h
> index 74767d4..484079a 100644
> --- a/bsd/sys/xen/evtchn.h
> +++ b/bsd/sys/xen/evtchn.h
> @@ -37,6 +37,8 @@ void mask_evtchn(int port);
>
>  void unmask_evtchn(int port);
>
> +int evtchn_from_irq(int irq);
> +
>  #ifdef SMP
>  void rebind_evtchn_to_cpu(int port, unsigned int cpu);
>  #else
> diff --git a/core/xen_intr.cc b/core/xen_intr.cc
> index 0c31d2c..dcb603c 100644
> --- a/core/xen_intr.cc
> +++ b/core/xen_intr.cc
> @@ -8,7 +8,10 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
> +#include 
> +#include 
>  #include "bitops.h"
>  #include 
>
> @@ -21,23 +24,6 @@ TRACEPOINT(trace_xen_irq_ret, "");
>  TRACEPOINT(trace_xen_irq_exec, "");
>  TRACEPOINT(trace_xen_irq_exec_ret, "");
>
> -/*FIXME: use xen/evtchn.h when aarch64 supprted */
> -#if defined(__x86_64__)
> -void unmask_evtchn(int vector);
> -int evtchn_from_irq(int irq);
> -#else
> -void unmask_evtchn(int port)
> -{
> -}
> -
> -int evtchn_from_irq(int irq)
> -{
> -abort("Not implemented yet");
> -return 0; /* keep compiler happy */
> -}
> -
> -#endif
> -
>  namespace xen {
>
>  PERCPU(sched::thread *, xen_irq::_thread);
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups
> "OSv Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to osv-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Web Analytics Project Manager @ Redmond, WA.

2017-02-07 Thread govind ramanujam
Hello,



Hope you are doing great.

We have an urgent below *"Web Analytics Project Manager”* position with one
of our client for c2c position at *Redmond, WA.*

If you are interested please share your updated resume along with contact
details to  govind_ramanu...@visionisys.com



*Job Title  :  Web Analytics Project Manager*

*Location  :  Bothel, WA*

*Duration  :  6 months*



*Job Description : *



WEBANALYTICS

Atleast 4-5 years of experience in Analytics & optimization Domain and an
overall of 7+ years of experience.

Lead analytics efforts including - KPI definition, report development and
analysis, A/B and multivariate testing, development of actionable strategic
recommendations.

Performed analytical deep dives, anomaly detection/investigation, and
provided actionable insights regarding visitor behavior, site-level, and
campaign performance.

Proficient with major analytics tools (WEDcs, Omniture, WebTrends, etc

Understanding of tag Management Software Ensighten

Should be data driven

Excellent verbal and presentation Skills



*Govind Ramanujam*
Visionisys Inc
Direct: 9724531361

Email: govind_ramanu...@visionisys.com  || www.visionisys.com

*Note* : If you have received this mail in error or prefer not to receive
such emails in the future, please reply with "REMOVE" in the subject line
and the email id(s) to be removed. All removal requests will be honored ASAP.
We sincerely apologize for any inconvenience caused

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.