Sync data between Exchange Office 365 and On-premise Exchange Server 2016

I’m looking for some advises to know if it is factible to install an Exchange Server 2016 on-premise and if there is a proper way to implement it with a hybrid solution.

First of all, our customer is an office from a multinational company and it has a responsible for email accounts globally. Recenently, he adopted Office 365 with Exchange in cloud with 50GB mailbox per account.

The problem is that our customer receives to many emails internally and externally on each account. After uploading their PST files from the old email system to Exchange and after 2 years of usage, they reached those 50GB. Currently, we are saving old emails into a backup PST file that they can use to find and filter old emails, but they doesn’t like that. They prefer having everything in the same folder. Also, they refuse to delete old emails, because they lack on a CRM system and they need to store the email information from customers.

Another problem is that we do not have access to manage those email acounts, because as I mentioned, those accounts are managed globaly by the company responsible. What we were thinking, and we do not know if it is possible to achieve, is to provide a hybrid solution “linking” accounts. For example:

Exchange Office 365


Exchange On-Premise


A user sends an email to, Office 365 receives it and it is automatically downloaded to the On-Premise server with the same account. When the process is done, the user, that is connected to the On-Premise server, receives the email and it is removed from Office 365 (like a POP3). When user wants to send an email, the On-Premise server sends a request to the Exchange Office 365 to send an email to the desired account.

More or less is what we want to achieve. Is it possible or is the hybrid solution only working for staged migrations?

How to learn development of data pipeline using python, luigi or airlfow?

I am currently learning building data pipeline for data analysis. I search for online courses for the same but couldn’t find one which matches this. It will be very helpful if community can guide me how to proceed with data pipeline for data analysis. I have already followed Pandas tutorial and know basics of SQL and RDBMS. I found about Luigi and airflow for data pipeline development but not sure which one to learn and use. If there is any course for learning data pipeline then it will be very helpful for me. Thanks in advance.

Why is my News & Weather app using so much data (and battery)?

I’m running Android 6.0 on an HTC M9.

In the last 13 days, my News & Weather app has used 1.37GB of data. In that same period, Google Play Store used 1.22GB.

For a few weeks now I have had severe battery issues (from around 36 hours of light use down to 4 hours – 5 if I leave it on my desk and do nothing), and I’m now assuming that this is the cause. I don’t know why a news app would use so much data, and it’s all background data which makes it even more shady.

Has anybody experience their News & Weather app going out of control like this, and does anybody know how to stop it?

Is there any way to completely block any app from using data (Android 6.0)

I have a problem: my house wifi goes down a lot for some unknown reason, and so I turn on data to continue whatever conversation I was having on my laptop on my phone. Then I forget to turn on wifi when the internet comes back on, and I watch YouTube videos on my phone. This, in turn, eats up 500mb of my 1gb data plan. This has happened three data cycles in a row.

When I select the YouTube app in the data section of my settings, even when I select the “restrict background data” option, and even when I go into YouTube’s settings and select “only stream HD video on wifi”, it still uses data. It seems like there is absolutely no hope for preventing this app (or any general app for that matter) from using any data at all.

I couldn’t even find a good third-party data management app that has this functionality. Every app I’ve found only allows me to read and analyze my data usage and set ‘timers’, but no way to completely prevent specific apps from using any data. I decided I would just completely eliminate YouTube, which was annoying in and of itself because it seems there’s no way to uninstall a factory-installed app. I ended up just disabling it in my settings, and then blocking it entirely with a third-party app called Boomerang.

Please, is there any simple way to completely block all data usage of only a specific app? Why is this such an unheard-of request?

How to add the custom Data to calendar list in sharepoint 2013?

I created the Customs Form as a web part, In that form, there have Several Fields like Title, Location, Date and Time picker, Description, Images and URL. After Filling the Form, a user clicks publish button means data should be inserted into SharePoint calendar list. If user clicks add button in calendar list means our custom dialogue needs to come. I looked into following links, But I need more reference about this.

Plotting relief data from tif file with other layers using ggplot

I’m (very) new to R. I’m trying to produce a map of the world with the following features:

  1. ISEA3H grid (with a spacing of 6 miles between hexagons (I don’t have enough memory to generate one with 6 mile hexagons; the closest I’ve gotten is 24 mile hexagons)).
  2. No political borders (i.e., only “natural borders, like coastlines, lakes, rivers, etc.) I’ve got this down as well.
  3. Elevation/relief data. This is where I’m having trouble.
  4. The cell number printed inside the cells. I haven’t gotten this far yet.

Specifically, the problem I’m having is I can’t seem to “mesh” the data from my tif file with my map of the world.

I’m using the dggridR package, which produces an ISEA3H grid of the world with variable spacing. I’ve gotten pretty far.

Here’s my code thus far:

library(rgdal) library(sp) library(dggridR) library(mapdata) library(rnaturalearth) library(rnaturalearthdata) library(raster)  # I've increased the spacing to 500 miles so the map doesn't take so long to render between iterations dggs <- dgconstruct(projection = "ISEA", aperture = 3, topology = "HEXAGON", precision = 7, spacing = 500, metric = FALSE)  # Save a fairly large image at the end of it jpeg("mymap.jpg", width = 9000, height = 6000, quality = 95)  # I'm using the physical data from  # and the raster data from  world <- readOGR("/home/mario/Downloads/data/10m_physical", "ne_10m_land") rivers <- readOGR("/home/mario/Downloads/data/10m_physical", "ne_10m_rivers_lake_centerlines") ocean <- readOGR("/home/mario/Downloads/data/10m_physical", "ne_10m_ocean") lakes <- readOGR("/home/mario/Downloads/data/10m_physical", "ne_10m_lakes") coast <- readOGR("/home/mario/Downloads/data/10m_physical", "ne_10m_coastline")  rel <- raster("/home/mario/Downloads/data/NE2_HR_LC_SR_W/NE2_HR_LC_SR_W.tif") rel_spdf <- as(rel, "SpatialPixelsDataFrame") rel <-  # use grid of the entire earth sa_grid <- dgearthgrid(dggs,frame=TRUE, wrapcells=TRUE)  # actually plot the data p<- ggplot() +      # what should be the relief layer     geom_tile(data = rel, aes(x = "x", y = "y")) +      # the world     geom_polygon(data=world, aes(x=long, y=lat, group=group), fill=NA, color="black") +      # lakes     geom_polygon(data=lakes, aes(x = long, y = lat, group = group), fill = '#ADD8E6') +      # more lakes     geom_path(data=lakes, aes(x = long, y = lat, group = group), color = 'blue') +      # rivers     geom_path(data=rivers, aes(x=long, y=lat, group=group), alpha=0.4, color="blue") +      # coastline     geom_path(data=coast, aes(x = long, y = lat, group = group), color = 'blue') +      # hexagonal grid     geom_polygon(data=sa_grid, aes(x=long, y=lat, group=group), fill="white", alpha=0.4) +      # hexagonal grid     geom_path(data=sa_grid, aes(x=long, y=lat, group=group), alpha=0.4, color="grey") +      # some necessary r code that I don't understand     coord_equal()  # change from flat map to globe p+coord_map("ortho", orientation = c(41.0082, 28.9784, 0))+   xlab('')+ylab('')+   theme(axis.ticks.x=element_blank())+   theme(axis.ticks.y=element_blank())+   theme(axis.text.x=element_blank())+   theme(axis.text.y=element_blank())+   ggtitle('World map')  # finish writing to jpeg 

This is as far as I’ve gotten:

The code above is currently chugging away, and has been for the past 4 hours. It’s remained within the bounds of the memory of my machine, so that’s a good sign.

What is the idiomatic way of projecting a geodesic grid over a relief map of the Earth? How could I include the relief data from the naturalearth tif file with my code thus far?

Mostrar data desde MySql como Grafica

Un saludo a todos, me encuentro con el siguiente problema, debo mostrar en una gráfica de barras el total de alumnos pro comuna que pertenezcan a al grado escolar el cual es seleccionado pro medio de un , he realizado la consulta de una y otra forma pero no me cargan los datos, adjunto el código, para que me ayuden pro favor.

Código index.php

<html>     <head>         <title>Estadistica</title>         <meta charset="UTF-8">         <script type="text/javascript" src="js/jquery.js"></script>         <script type="text/javascript" src="js/chartJS/Chart.min.js"></script>     </head>     <style>         .caja{             margin: auto;             max-width: 250px;             padding: 20px;             border: 1px solid #BDBDBD;         }         .caja select{             width: 100%;             font-size: 16px;             padding: 5px;         }         .resultados{             margin: auto;             margin-top: 40px;             width: 1000px;         }     </style>     <body>          <div class="caja">             <select onChange="mostrarResultados(this.value);">                <?php           include_once 'php/conexion.php';           $  sql= 'SELECT * FROM tbl_grado';           $  sentencia = $  mbd->prepare($  sql);           $  sentencia->execute();           $  resultado = $  sentencia->fetchAll();         ?>          <?php          foreach($  resultado as $  grados):         ?>          <option value="<?php echo $  grados['grado'] ?>"><?php echo $  grados['grado']?>          <?php     endforeach         ?>             </select>         </div>         <div class="resultados"><canvas id="grafico"></canvas></div>     </body>     <script>             $  (document).ready(mostrarResultados(701));                   function mostrarResultados(grado){                    // $  ('.resultados').html('<canvas id="grafico"></canvas>');                     $  .ajax({                         type: 'POST',                         url: 'php/procesar.php',                         data: 'grado='+grado,                         //dataType: 'JSON',                         success:function(data){                             var valores = eval(data);                              var uno = valores[0];                             var dos = valores[1];                             var tres = valores[2];                             var cuatro = valores[3];                             var cinco = valores[4];                             var seis = valores[5];                             var siete = valores[6];                              var datos = {                                     labels : ['ComunaUno', 'ComunaDos', 'ComunaTres', 'ComunaCuatro', 'ComunaCinco', 'ComunaSeis', 'ComunaSiete'],                                     datasets : [                                         {                                             fillColor : 'rgba(91,228,146,0.6)', //COLOR DE LAS BARRAS                                             strokeColor : 'rgba(57,194,112,0.7)', //COLOR DEL BORDE DE LAS BARRAS                                             highlightFill : 'rgba(73,206,180,0.6)', //COLOR "HOVER" DE LAS BARRAS                                             highlightStroke : 'rgba(66,196,157,0.7)', //COLOR "HOVER" DEL BORDE DE LAS BARRAS                                             data : [uno, dos, tres, cuatro, cinco, seis, siete]                                         }                                     ]                                 }                             var contexto = document.getElementById('grafico').getContext('2d');                             window.Barra = new Chart(contexto).Bar(datos, { responsive : true });                             Barra.clear();                         }                     });                     return false;                 }     </script> </html> 

Este es el código donde estan las diferentes consultas, lo que se detalla en este es que, hago una consulta que me cuente la cantidad de id_alumnos cuando el campo grado sea igual la variable grado que viene por metodo $ _POST pero que a su vez pertenezcan a una comuna en especifico, esta consulta la hago por cada comuna en total son 7 comuna y grados son 27.

Archivo procesar.php

<?php include_once('php/conexion.php'); $  grado = $  _POST['grado'];  $  uno = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'UNO') GROUP BY comuna, grado;")); $  dos = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'DOS') GROUP BY comuna, grado;")); $  tres = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'TRES') GROUP BY comuna, grado;")); $  cuatro = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'CUATRO') GROUP BY comuna, grado;")); $  cinco = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'CINCO') GROUP BY comuna, grado;")); $  seis = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'SEIS') GROUP BY comuna, grado;")); $  siete = mysql_fetch_array(mysql_query("SELECT comuna, grado, COUNT(id_alumno) AS total FROM tbl_alumnos WHERE (grado = '$  _POST['grado']') AND (comuna = 'SIETE') GROUP BY comuna, grado;"));  $  data = array(0 => ($  uno['total']),               1 => $  dos['total']),               2 => $  tres['total']),               3 => $  cuatro['total']),               4 => $  cinco['total']),               5 => $  seis['total']),               6 => $  siete['total']) ); //var_dump($  data) echo json_encode($  data); ?> 

Data structure with linked list implementation in C++

I need to create appropriate insertion, deletion, copy constructor and assignment operator for a certain data structure. It is a hashtable containing pointers that are linked lists. It works on tests I wrote and valgrind says there are no memory leaks. STL is forbidden, as well as changing the data structure. I am mostly worried if I have messed up first, last, next and prev order and next hash.

#include <string> #include <iostream> #include <bits/stdc++.h> using namespace std;  struct TItem {     TItem(string key, string val, TItem* nextHash,TItem* nextOrd, TItem * prevOrd)     :m_Key(key),m_Val(val),m_NextHash(nextHash),m_NextOrder(nextOrd),m_PrevOrder(prevOrd){}      string m_Key,m_Val;     TItem * m_NextHash, * m_NextOrder, * m_PrevOrder; };  class CHash{ public:     CHash (int m) : m_Table(NULL),m_Size(m),m_FirstOrder(NULL),m_LastOrder(NULL)     {       init(m);     }      ~CHash()     {       finalize();     }      bool IsSet(string key)     {       TItem * temp = m_Table[hashFn(key)];       if (temp == NULL)         return false;       while (temp != NULL)       {         if (temp -> m_Key == key)           return true;         temp = temp -> m_NextOrder;       }       return false;     }      CHash(const CHash & src)     {       init(src.m_Size);       copy(src.m_FirstOrder);     }      CHash & operator = (const CHash & src)     {       finalize();       init(src.m_Size);       copy(src.m_FirstOrder);       return *this;     }      bool Ins(const string & key, const string & val)     {       string help = key;       if (IsSet(help))         return false;       if (m_FirstOrder == NULL)       {         TItem * tmp01 = new TItem(key, val, NULL, NULL, NULL);         m_Table[hashFn(help)] = tmp01;         m_FirstOrder = m_LastOrder = tmp01;         return true;       }       else       {         TItem * temp = m_Table[hashFn(help)];         if (temp == NULL)         {           TItem * tmp02 = new TItem(key, val, NULL, NULL, m_LastOrder);           m_Table[hashFn(help)] = tmp02;           m_LastOrder -> m_NextOrder = tmp02;           m_LastOrder = tmp02;           return true;         }         while (temp -> m_NextHash != NULL)         {           if (temp -> m_Key == key)             return false;           temp = temp -> m_NextHash;         }         TItem * tmp03 = new TItem(key, val, NULL, NULL, m_LastOrder);         m_Table[hashFn(help)] -> m_NextHash = tmp03;         m_LastOrder -> m_NextOrder = tmp03;         m_LastOrder = tmp03;         return true;       }     }      bool Del (const string & key)     {       string help = key;       TItem * temp = m_Table[hashFn(help)];       if (temp == NULL)         return false;       while (temp != NULL)       {         if (temp -> m_Key == key)           break;         temp = temp -> m_NextHash;       }        if (temp == NULL)         return false;        if (m_FirstOrder == temp)         m_FirstOrder = m_FirstOrder -> m_NextOrder;       else         temp -> m_PrevOrder -> m_NextOrder = temp -> m_NextOrder;       if (m_LastOrder == temp)         m_LastOrder = m_LastOrder -> m_PrevOrder;        m_Table[hashFn(help)] = temp -> m_NextHash;       delete temp;       return true;     }      template <typename func>     void ForEach(func f)     {      }     void printAll()     {              TItem * temp = m_FirstOrder;   while (temp != NULL)    {     cout << temp -> m_Key << endl;     temp = temp -> m_NextOrder;     }     }  private:     void init (int m)     {       m_Size = m;       m_Table = new TItem * [m];       for (int i = 0; i < m; i++)         m_Table[i] = NULL;       m_FirstOrder = NULL;       m_LastOrder = NULL;     }      void finalize ()     {       TItem * temp = m_FirstOrder;       while (temp != NULL)       {         TItem * tmp = temp;         temp = temp -> m_NextOrder;         delete tmp;       }       delete [] m_Table;     }      void copy (TItem * src)     {       while (src != NULL)       {         Ins(src -> m_Key, src -> m_Val);         src = src -> m_NextOrder;       }     }      TItem **        m_Table;     unsigned int    m_Size;     TItem *         m_FirstOrder, * m_LastOrder;     unsigned int hashFn(string & str){         std::hash<std::string> hash_fn;         return hash_fn(str)%m_Size;     } };  int main(int argc, char** argv) {      CHash hashtable(100);     CHash hash2(50);     hashtable.Ins("h1","car");     assert ( !hashtable.Ins("h1","phone"));     hashtable.Ins("h2","field");     hashtable.Ins("h3","house");     hashtable.Ins("h4","tree");     hashtable.printAll();     assert ( hashtable.Del("h3") );     assert ( !hashtable.Ins("h4","tree") );     assert(!hashtable.Del("h4d"));     assert(hashtable.Del("h1"));     assert(!hashtable.Del("h3"));     assert(!hashtable.Del("h1"));     cout << "ok" << endl;      hash2 = hashtable;     hashtable.printAll();     hash2.printAll();     CHash b(hash2);     b.printAll();       hashtable.ForEach([](TItem * it ){         cout<<it->m_Key<<" - "<<it->m_Val<<endl;     });      return 0; }