<div dir="auto">Hi Albert,<div dir="auto"><br></div><div dir="auto">Since this is something we are really interested in would it be possible for you to help us understand the current code flow and the problem associated with it and what changes are required. We can then try to correct this on our end and try to make a contribution for the same. </div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Gaurav</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Apr 4, 2017 09:45, "Albert López" <<a href="mailto:alopez@ac.upc.edu">alopez@ac.upc.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="m_1539264495427164882moz-cite-prefix">Hi Kevin,<br>
      <br>
      I have been checking and it seems that this behavior I was
      describing started in Android 5. Apart from moving the routes from
      the main route table to interface specific tables, it seems that
      the routes we add in the main table are ignored. Unfortunately, to
      allow OOR works in root devices, we need to do  big changes and at
      this moments we don't have the required time resources. If you are
      interested to do it, we will be glad to assesorate you. <br>
      <br>
      Best regards<br>
      <br>
      Albert<br>
      <br>
      <br>
      El 30/03/17 a les 06:47, Kevin Shen ha escrit:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Hi Albert,
        <div><br>
        </div>
        <div>Thanks again for the help. We are using Android 5.0.2, and
          when the ./liboor.so command is executed without any errors,
          nothing is written to the OOR log file. Does the current
          version of the OOR code work for your rooted Android devices? </div>
        <div><br>
        </div>
        <div>Thanks,</div>
        <div>Kevin</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Wed, Mar 29, 2017 at 4:44 AM, Albert
          López <span dir="ltr"><<a href="mailto:alopez@ac.upc.edu" target="_blank">alopez@ac.upc.edu</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF">
              <div class="m_1539264495427164882m_7718028606098474153moz-cite-prefix">[---
                Changed maintainers by devel mailing list ---]<br>
                <br>
                Hi Kevin,<br>
                <br>
                OOR in root mode works like the linux version of OOR.<br>
                <br>
                <ul>
                  <li>We define the RLOC interfaces in the configuration
                    file</li>
                  <li>We obtain the IP address  and the gateway
                    associated with the interface (OOR needs to have a
                    gateway defined for each interface despite they have
                    different metric)</li>
                  <li>Add two routes to get all the traffic and overpass
                    the gateways:</li>
                  <ul>
                    <li><!-- <a href="http://0.0.0.0/1" target="_blank"> -->0.0.0.0/1<!-- </a> -->
                      dev lispTun0  proto static</li>
                    <li><!-- <a href="http://128.0.0.0/1" target="_blank"> -->128.0.0.0/1<!-- </a> -->
                      dev lispTun0  proto static</li>
                  </ul>
                  <li>Assign EID to the lispTun0 interface</li>
                  <li>For each RLOC address we create a new routing
                    table with a higher priority than the main table .
                    We send to this table all packets with source
                    address the RLOC IP.</li>
                  <li>We add to the new table the gateway route
                    associated with the RLOC interface -> Once the
                    packet is encapsulated will be reach this table and
                    sent through the gateway</li>
                  <li>Same process for IPv6<br>
                  </li>
                </ul>
                Example once OOR is started:<br>
                <br>
                ## ifconfig<br>
                eth0      Link encap:Ethernet  HWaddr 00:0c:29:c2:84:b0 
                <br>
                          inet addr:8.88.81.70  Bcast:84.88.81.79 
                Mask:255.255.255.240<br>
                          inet6 addr: fe80::20c:29ff:fec2:84b0/64
                Scope:Link<br>
                          UP BROADCAST RUNNING MULTICAST  MTU:1500 
                Metric:1<br>
                          RX packets:1234255 errors:0 dropped:0
                overruns:0 frame:0<br>
                          TX packets:339517 errors:0 dropped:0
                overruns:0 carrier:0<br>
                          collisions:0 txqueuelen:1000 <br>
                          RX bytes:174935927 (174.9 MB)  TX
                bytes:65482397 (65.4 MB)<br>
                <br>
                lispTun0  Link encap:UNSPEC  HWaddr
                00-00-00-00-00-00-00-00-00-00-<wbr>00-00-00-00-00-00  <br>
                          inet addr:153.16.30.48  P-t-P:153.16.30.48 
                Mask:255.255.255.255<br>
                          UP POINTOPOINT RUNNING  MTU:1440  Metric:1<br>
                          RX packets:0 errors:0 dropped:0 overruns:0
                frame:0<br>
                          TX packets:4 errors:0 dropped:0 overruns:0
                carrier:0<br>
                          collisions:0 txqueuelen:500 <br>
                          RX bytes:0 (0.0 B)  TX bytes:248 (248.0 B)<br>
                <br>
                lo        Link encap:Local Loopback  <br>
                          inet addr:127.0.0.1  Mask:255.0.0.0<br>
                          inet6 addr: ::1/128 Scope:Host<br>
                          UP LOOPBACK RUNNING  MTU:65536  Metric:1<br>
                          RX packets:0 errors:0 dropped:0 overruns:0
                frame:0<br>
                          TX packets:0 errors:0 dropped:0 overruns:0
                carrier:0<br>
                          collisions:0 txqueuelen:0 <br>
                          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)<br>
                <br>
                # ip route<br>
                <!-- <a href="http://0.0.0.0/1" target="_blank"> -->0.0.0.0/1<!-- </a> -->
                dev lispTun0  proto static <br>
                default via 8.88.81.65 dev eth0  metric 10 <br>
                <!-- <a href="http://8.88.81.64/28" target="_blank"> -->8.88.81.64/28<!-- </a> -->
                dev eth0  proto kernel  scope link  src 8.88.81.70 <br>
                <!-- <a href="http://128.0.0.0/1" target="_blank"> -->128.0.0.0/1<!-- </a> -->
                dev lispTun0  proto static <br>
                <br>
                # ip rule<br>
                0:    from all lookup local <br>
                2:    from 8.88.81.70 lookup 2 <br>
                32766:    from all lookup main <br>
                32767:    from all lookup default <br>
                <br>
                # ip route show table 2<br>
                default via 8.88.81.65 dev eth0  proto static  metric
                100 <br>
                <br>
                <br>
                We obtain the gateway from the main routing table.<br>
                <br>
                Previous to Android version 6, the routing in Android
                worked like in Linux (what I explained before). From
                Android 6 this has changed. The gateway of the
                interfaces is no longer stored in the main routing
                table. Instead of this, a new table is created for each
                interface and it is in this table where the gateway is
                stored. For instance, I show you the information of my
                phone (OOR is not running):<br>
                <br>
                $ ip route<br>
                <!-- <a href="http://10.61.76.252/30" target="_blank"> -->10.61.76.252/30<!-- </a> -->
                dev rmnet_data0  proto kernel  scope link  src
                10.61.76.253<br>
                <br>
                $ ip rule<br>
                0:    from all lookup local <br>
                10000:    from all fwmark 0xc0000/0xd0000 lookup 99 <br>
                10500:    from all oif dummy0 uidrange 0-0 lookup 1002 <br>
                10500:    from all oif rmnet_data0 uidrange 0-0 lookup
                1012 <br>
                13000:    from all fwmark 0x10063/0x1ffff lookup 97 <br>
                13000:    from all fwmark 0x10068/0x1ffff lookup 1012 <br>
                14000:    from all oif dummy0 lookup 1002 <br>
                14000:    from all oif rmnet_data0 lookup 1012 <br>
                15000:    from all fwmark 0x0/0x10000 lookup 99 <br>
                16000:    from all fwmark 0x0/0x10000 lookup 98 <br>
                17000:    from all fwmark 0x0/0x10000 lookup 97 <br>
                19000:    from all fwmark 0x68/0x1ffff lookup 1012 <br>
                22000:    from all fwmark 0x0/0xffff lookup 1012 <br>
                23000:    from all fwmark 0x0/0xffff uidrange 0-0 lookup
                main <br>
                32000:    from all unreachable<br>
                <br>
                $ ip route show table 1012<br>
                default via 10.61.76.254 dev rmnet_data0  proto static <br>
                <br>
                <br>
                If you check the OOR log file you will see that the
                system is not able to find the gateway and as a
                consequence it can not finish with the process I
                explained before.<br>
                Here you have two options. Use a device with an Android
                version previous to 6 to focus in your case or try to
                solve this problem. If you try to solve it, considerer
                that you not only have to know the gateway but also
                detect the change of gateway through netlink.<br>
                <br>
                Another thing you should know is that the netconf module
                to configure OOR while runing is only available in
                Linux. If you want to change OOR configuration in
                Android ( add a new RLOC interface, change MS, change
                EID ...), you have to restart OOR.<br>
                <br>
                If OOR stops without reason, the first thing to check is
                the log file to try to find any clue.<br>
                <br>
                Best regards<br>
                <br>
                Albert<br>
                <br>
                <br>
                 <br>
                <br>
                El 29/03/17 a les 06:31, Kevin Shen ha escrit:<br>
              </div>
              <div>
                <div class="m_1539264495427164882h5">
                  <blockquote type="cite">
                    <div dir="ltr">Hi Albert,
                      <div><br>
                      </div>
                      <div>Thanks a lot for the help. We are now trying
                        to get the rooted version of OOR working on
                        Android, but whenever we tap the checkbox to run
                        OOR, the service icon quickly appears and
                        disappears in the status bar. </div>
                      <div><br>
                      </div>
                      <div>We made sure that the NDK generated library
                        liboor.so was copied over to OOR's app data in
                        the lib/ folder, and that the command
                        ./liboor.so was executed without any error
                        message from the shell or exception thrown in
                        the Java code. The device we are using is
                        properly rooted. However, the OORService still
                        quits immediately, which could mean ./liboor.so
                        terminates right away.</div>
                      <div><br>
                      </div>
                      <div>Do you maybe have any insight on this issue?
                        If possible, we would also be willing to Skype
                        at any time to solve this. We really appreciate
                        all the time you've taken to help us with OOR.
                        Thanks so much!</div>
                      <div><br>
                      </div>
                      <div>Best Regards,</div>
                      <div>Kevin</div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Mon, Mar 27, 2017 at
                        4:13 AM, Albert López <span dir="ltr"><<a href="mailto:alopez@ac.upc.edu" target="_blank">alopez@ac.upc.edu</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div text="#000000" bgcolor="#FFFFFF">
                            <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904moz-cite-prefix">Hi
                              Kevin,<br>
                              <br>
                              You should select the interface that has
                              an IP assigned. In my device the name is
                              rmnet_data0. You can check it using "ip
                              address" from a terminal (if you have wifi
                              on, the data interface may not have an IP
                              assigned). If you still have problems, you
                              can send me the logs file located in your
                              storage card (oor.log). <br>
                              <br>
                              Best regards<br>
                              <br>
                              Albert<br>
                              <br>
                              El 24/03/17 a les 12:13, Kevin Shen ha
                              escrit:<br>
                            </div>
                            <div>
                              <div class="m_1539264495427164882m_7718028606098474153h5">
                                <blockquote type="cite">
                                  <div dir="ltr">Hi Albert, 
                                    <div><br>
                                    </div>
                                    <div>Thanks so much for the help! We
                                      managed to successfully ping an
                                      EID with the wlan0 Wi-Fi
                                      interface, but for some reason the
                                      rmnet0 LTE interface doesn't work.
                                      Would you mind taking a look at
                                      the screenshot attached? We are
                                      using a device running Android 6,
                                      if that makes a difference. Thanks
                                      in advance - we really appreciate
                                      your time.</div>
                                    <div><br>
                                    </div>
                                    <div>Best Regards,</div>
                                    <div>Kevin</div>
                                  </div>
                                  <div class="gmail_extra"><br>
                                    <div class="gmail_quote">On Thu, Mar
                                      23, 2017 at 5:29 AM, Albert López
                                      <span dir="ltr"><<a href="mailto:alopez@ac.upc.edu" target="_blank">alopez@ac.upc.edu</a>></span>
                                      wrote:<br>
                                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                        <div text="#000000" bgcolor="#FFFFFF">
                                          <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388moz-cite-prefix">Hi 
                                            Kevin,<br>
                                            <br>
                                            <br>
                                            El 23/03/17 a les 02:31,
                                            Kevin Shen ha escrit:<br>
                                          </div>
                                          <span>
                                            <blockquote type="cite">
                                              <div dir="ltr">Hi Albert,
                                                <div><br>
                                                </div>
                                                <div>Thanks a lot for
                                                  setting it up! </div>
                                                <div><br>
                                                </div>
                                                <div>We've entered the
                                                  configuration into the
                                                  OOR Android app and
                                                  successfully
                                                  registered into the
                                                  LISP Site Status page.
                                                  However, when we ping
                                                  active EIDs, we don't
                                                  get any response. It
                                                  works when we use
                                                  Wi-Fi/LTE without OOR
                                                  enabled. Attached are
                                                  screenshots of the
                                                  configuration. <br>
                                                </div>
                                              </div>
                                            </blockquote>
                                          </span> I think you have
                                          selected the wrong intrefaces
                                          in the RLOC interface
                                          selection. You should select
                                          something like wlan0, rmnet0
                                          (the interfaces with an IP
                                          selected). If your RLOCs are
                                          behind NAT, you will need to
                                          select NAT Traversal Aware. <span>
                                            <blockquote type="cite">
                                              <div dir="ltr">
                                                <div><br>
                                                </div>
                                                <div><span style="font-size:12.8px">Our
                                                    use case is:
                                                    developing an API
                                                    which when triggered
                                                    with necessary
                                                    parameters can
                                                    seamlessly
                                                    transition over
                                                    heterogeneous
                                                    networks using LISP.</span><br>
                                                </div>
                                                <div><br>
                                                </div>
                                              </div>
                                            </blockquote>
                                          </span> I am not an expert in
                                          Android but the last time we
                                          tried to select the output 
                                          interface we couldn't. By
                                          default Android only have one
                                          active interface that you can
                                          not select (if you are
                                          connected to wifi I think you
                                          can not choose to use the LTE
                                          interface to send data). May
                                          be it is possible to do it if
                                          you have a rooted device but
                                          we didn0t have time to work
                                          with this. On the other hand,
                                          we only have support for root
                                          devices for Android versions
                                          previous to 6. Android 6 and
                                          above changed the way to
                                          implement the network and we
                                          haven't had time to adapt OOR
                                          to it. For this devices we
                                          only support the none root
                                          version of OOR which is based
                                          on the VPN API of Android. As
                                          far as I know, with VPN API
                                          you can not select the output
                                          interface.<br>
                                          <br>
                                          Best regards<span class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904HOEnZb"><font color="#888888"><br>
                                              <br>
                                              Albert</font></span>
                                          <div>
                                            <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904h5"><br>
                                              <blockquote type="cite">
                                                <div dir="ltr">
                                                  <div>Any help would be
                                                    greatly appreciated.
                                                    Thanks in advance! </div>
                                                  <div><br>
                                                  </div>
                                                  <div>Best Regards,</div>
                                                  <div>Kevin Shen</div>
                                                </div>
                                                <div class="gmail_extra"><br>
                                                  <div class="gmail_quote">On
                                                    Mon, Mar 20, 2017 at
                                                    5:21 AM, Albert
                                                    López <span dir="ltr"><<a href="mailto:alopez@ac.upc.edu" target="_blank">alopez@ac.upc.edu</a>></span>
                                                    wrote:<br>
                                                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                      <div text="#000000" bgcolor="#FFFFFF">
                                                        <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-cite-prefix">Dear
                                                          Kevin,<br>
                                                          <br>
                                                          Here's your
                                                          allocation
                                                          data:<br>
                                                          <br>
                                                          Device name:
                                                          columbia-xtr<br>
                                                          Region:
                                                          US-East<br>
                                                          Geographic
                                                          location: New
                                                          York - USA<br>
                                                          EID-prefix:
                                                          <!-- <a href="http://153.16.29.128/28" target="_blank"> -->153.16.29.128/28<!-- </a> -->
                                                          (more
                                                          specifics
                                                          allowed)<br>
                                                          EID loopback:
                                                          153.16.29.129<br>
                                                          EID-prefix
                                                          ipv6:
                                                          2610:D0:1153::/48
                                                          (more
                                                          specifics
                                                          allowed)<br>
                                                          EID loopback
                                                          ipv6:
                                                          2610:D0:1153::153:16:29:129<br>
                                                          Map Servers:
                                                          {ARIN}
                                                          {cisco-sjc-mr-ms-1
173.36.254.164, eqx-ash-mr-ms 206.223.132.89}<br>
                                                          Map Server
                                                          password:
                                                          wju6C2ZjV3<br>
                                                          Map Resolvers:
                                                          {ARIN}
                                                          {cisco-sjc-mr-ms-1
173.36.254.164, eqx-ash-mr-ms 206.223.132.89}<br>
                                                          PETR:
                                                          69.31.31.98<br>
                                                          Contact: Kevin
                                                          Shen <a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-rfc2396E" href="mailto:ks3206@columbia.edu" target="_blank"><ks3206@columbia.edu></a><br>
                                                          Expiration
                                                          date:
                                                          30/06/2017<br>
                                                          <br>
                                                          Please take a
                                                          look at the
                                                          `oor/oor.conf.example`
                                                          file in the
                                                          source
                                                          distribution
                                                          to see how to
                                                          build a
                                                          configuration
                                                          from the above
                                                          data.  You can
                                                          check if you
                                                          correctly
                                                          registered
                                                          your site into
                                                          the mapping
                                                          system on the
                                                          LISP Site
                                                          Status page
                                                          here: <a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-freetext" href="http://www.lisp4.net/lisp-site/" target="_blank">http://www.lisp4.net/lisp-site<wbr>/</a>
                                                          After one day
                                                          it will
                                                          probably show
                                                          up on the
                                                          LISPmon
                                                          website as
                                                          well: <a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-freetext" href="http://lispmon.net" target="_blank">http://lispmon.net</a><br>
                                                          <br>
                                                          You can slice
                                                          up your
                                                          prefixes into
                                                          more specifics
                                                          and distribute
                                                          them between
                                                          more than one
                                                          device if that
                                                          becomes
                                                          necessary,
                                                          just make sure
                                                          they don’t
                                                          overlap.<br>
                                                          <br>
                                                          If you have
                                                          any issues or
                                                          questions,
                                                          please post to
                                                          the users
                                                          mailing list
                                                          for support,
                                                          or join
                                                          #openoverlayrouter
                                                          on Freenode
                                                          for more
                                                          interactive
                                                          help. <a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-freetext" href="http://webchat.freenode.net/?randomnick=1channels=#openoverlayrouter&prompt=1" target="_blank">http://webchat.freenode.net/?r<wbr>andomnick=1channels=#openoverl<wbr>ayrouter&prompt=1</a><br>
                                                          <br>
                                                          The assigned
                                                          EIDs will
                                                          expire the 30
                                                          of June of
                                                          2017. You can
                                                          request to
                                                          renew them by
                                                          mail.<br>
                                                          <br>
                                                          Best regards,<br>
                                                          <br>
                                                          Albert <br>
                                                          <br>
                                                          <br>
                                                          PS: Notice
                                                          that OOR for
                                                          Android is
                                                          limited to one
                                                          active
                                                          interface. The
                                                          other ones are
                                                          in backup mode<br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          <br>
                                                          El 20/03/17 a
                                                          les 00:40,
                                                          Kevin Shen ha
                                                          escrit:<br>
                                                        </div>
                                                        <blockquote type="cite">
                                                          <div>
                                                          <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388h5">
                                                          <div dir="ltr">Dear
OpenOverlayRouter Team,
                                                          <div><br>
                                                          </div>
                                                          <div>My name
                                                          is Kevin Shen,
                                                          and I am a
                                                          student at
                                                          Columbia
                                                          University
                                                          conducting
                                                          research with
                                                          Prof. Henning
                                                          Schulzrinne.
                                                          My team and I
                                                          are interested
                                                          in the beta
                                                          network
                                                          because we are
                                                          working on
                                                          seamless
                                                          transitioning
                                                          between
                                                          heterogeneous
                                                          networks. Here
                                                          is the
                                                          information
                                                          requested:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Full
                                                          name: Kevin
                                                          Shen</div>
                                                          <div>Geographical
                                                          location: New
                                                          York, NY</div>
                                                          <div>Flavor of
                                                          OOR: Android</div>
                                                          <div>Make/model:
                                                          SM-G935U
                                                          (Samsung
                                                          Galaxy S7
                                                          Edge)</div>
                                                          <div>Use
                                                          cases:
                                                          Mobility</div>
                                                          <div>How we
                                                          learned about
                                                          OOR: Research
                                                          paper on
                                                          multihoming
                                                          protocols<br clear="all">
                                                          <div><br>
                                                          </div>
                                                          <div>Please
                                                          let me know if
                                                          you need
                                                          anything else.
                                                          Thanks so
                                                          much!</div>
                                                          <div><br>
                                                          </div>
                                                          Best Regards,<br>
                                                          <div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156gmail_signature" data-smartmail="gmail_signature">
                                                          <div dir="ltr">Kevin
                                                          Shen 
                                                          <div>Columbia
                                                          University |
                                                          Class of 2018</div>
                                                          <div>B.S.
                                                          Candidate in
                                                          Computer
                                                          Science</div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <br>
                                                          <fieldset class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156mimeAttachmentHeader"></fieldset>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          <pre>______________________________<wbr>_________________
Maintainers mailing list
<a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-abbreviated" href="mailto:Maintainers@mail.openoverlayrouter.org" target="_blank">Maintainers@mail.openoverlayro<wbr>uter.org</a>
<a class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388m_-1200784778883405156moz-txt-link-freetext" href="http://mail.openoverlayrouter.org/cgi-bin/mailman/listinfo/maintainers" target="_blank">http://mail.openoverlayrouter.<wbr>org/cgi-bin/mailman/listinfo/m<wbr>aintainers</a>
</pre>
    </blockquote>
    

    

  </div>

</blockquote></div>

<div>
</div>-- 
<div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Kevin Shen <div>Columbia University | Class of 2018</div><div>B.S. Candidate in Computer Science</div></div></div>
</div>



</blockquote>
<p>
</p></div></div><pre class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904m_105837505510758388moz-signature" cols="72">-</pre></div></blockquote></div>

<div>
</div>-- 
<div class="m_1539264495427164882m_7718028606098474153m_-9033851212241776904gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Kevin Shen <div>Columbia University | Class of 2018</div><div>B.S. Candidate in Computer Science</div></div></div>
</div>



</blockquote>
<p>
</p></div></div></div></blockquote></div>

<div>
</div>-- 
<div class="m_1539264495427164882m_7718028606098474153gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Kevin Shen <div>Columbia University | Class of 2018</div><div>B.S. Candidate in Computer Science</div></div></div>
</div>



</blockquote>

</div></div></div></blockquote></div>

<div>
</div>-- 
<div class="m_1539264495427164882gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Kevin Shen <div>Columbia University | Class of 2018</div><div>B.S. Candidate in Computer Science</div></div></div>
</div>



</blockquote>

</div></blockquote></div></div>