Is it safe to exclude Outlook 16.x data from Time Machine backups?

For me, every hourly backup of Time Machine is quite large, but I don't change so many files so fast. I have determined that the main culprits are under ~/Library/Group Containers/UBF8T346G9.Office/Outlook/Outlook 15 Profiles/Main Profile. I hope to be able to exclude something here from Time Machine backups that will safely reduce the size of each backup per hour.

I think MS Outlook 16.x downloads emails and attachments
from the Outlook server below, just for indexing and speed reasons. If you ever had data loss, those emails and attachments would be downloadable again from the Outlook server. Therefore, excluding them from hourly backups seems reasonable to me.

However, search the Internet for files to exclude from Time Machine backups. Never Mention this way. I can't say if that is because excluding these files is not safe, or because MS Outlook 16.x is too new for people to discover these files. I find the latter hard to believe, especially since the route contains "Outlook fifteen".

Is there anything under this path that I can safely exclude from my Time Machine backups?

python 3.7 – Agenda: People Data

I am trying to schedule an agenda where I can save different information, name, surname, billing town etc …

I have been going around it but I always end up at the same point, I enter the data of the people one by one and save them in a file. I open the file and see that the data is well saved. Then to be able to modify that data, what I do is open the file and save it in a list (in this way all the modifications I will make will make them on the list and then update the file).

The problem I have is that the list is always loaded with the data of the last person in the file. I have tried the steps one by one and I am reading all the data of the people but the last one always crushes me all the previous ones.

Thank you

import io
import tkinter

#Importamos la clse Bezeroak de modulo creado por nosotros
#from Klase_Bezeroak import bezeroak


class interface:
def __init__(self,lista_clientes):
    self.lista_clientes=lista_clientes    

    #Programa para generar una ventana donde puedo introducir nombres y 
    datos
    #Crea una ventada de la clase TK
    self.ventana= tkinter.Tk()
    #Titulo de la Ventada
    self.ventana.title('Egurra')
    #Posicion y Tamaño
    self.ventana.geometry('400x400+600+100')
    #introducimos un widget
    tkinter.Label(self.ventana, text='').pack()


    #Generamos un menu y la asociamos a la wich ventana
    self.menu = tkinter.Menu(self.ventana)

    #Generamos la pestaña de clientes y la primera opcion en la cascada
    self.pest_clientes = tkinter.Menu(self.menu)
    self.pest_clientes.add_command(label = 'Nuevo Cliente')

    #Generamos la segunda opcion dentro del Clientes
    self.pest_clientes.add_separator()
    self.pest_clientes.add_command(label = 'Ver Lista Clientes')

    #Generamos la tercera opcion dentro del Clientes
    self.pest_clientes.add_separator()
    self.pest_clientes.add_command(label = 'Buscar Cliente')

    #Generamos la cuarta opcion dentro del Clientes
    self.pest_clientes.add_separator()
    self.pest_clientes.add_command(label = 'Borrar Cliente')

    #Generamos la pestaña de consultas y la primera opcion en la cascada
    self.pest_consultas = tkinter.Menu(self.menu)
    self.pest_consultas.add_command(label = 'Facturacion')

    #Generamos la segunda opcion dentro del Consultas
    self.pest_consultas.add_separator()
    self.pest_consultas.add_command(label = 'Gastos')

    #Generamos la tercera opcion dentro del Consultas
    self.pest_consultas.add_separator()
    self.pest_consultas.add_command(label = 'Ordenar clientes por Gasto')

    #Generamos la cuarta opcion dentro del Consultas
    self.pest_consultas.add_separator()
    self.pest_consultas.add_command(label = 'Consumo de leña por medida')

    #Generamos la quinta opcion dentro del Consultas
    self.pest_consultas.add_separator()
    self.pest_consultas.add_command(label = 'Estado Almacen')


    self.menu.add_cascade(label = 'Clientes', menu = self.pest_clientes)
    self.menu.add_cascade(label = 'Consultas', menu = self.pest_consultas)

    self.ventana.config(menu = self.menu)



    izena_Var = tkinter.StringVar()
    abizena_Var = tkinter.StringVar()
    herria_Var = tkinter.StringVar()
    tlf_Var = tkinter.IntVar()
    neurria_Var = tkinter.IntVar()
    bidaiak_Var = tkinter.IntVar()
    prezioa_Var = tkinter.IntVar()
    fakturazioa_Var = tkinter.DoubleVar()
    self.num_lista_Var = tkinter.IntVar() 

    #Generamos la entrada de Izena
    tkinter.Label(self.ventana, text='Izena').place(x=10,y=10)
    tkinter.Entry(self.ventana, textvariable=izena_Var, width=10).place(x=70,y=10)

    #Generamos la entrada de Abizena
    tkinter.Label(self.ventana, text='Abizena'). place(x=140,y=10)
    tkinter.Entry(self.ventana, textvariable=abizena_Var, width=10).place(x=200,y=10)

    #Generamos la entrada de Herria
    tkinter.Label(self.ventana, text='Herria').place(x=10,y=40)
    tkinter.Entry(self.ventana, textvariable=herria_Var, width=10).place(x=70,y=40)

    #Generamos la entrada de Telefonoa
    tkinter.Label(self.ventana, text='Telefonoa').place(x=140,y=40)
    tkinter.Entry(self.ventana, textvariable=tlf_Var, width=10).place(x=200,y=40)

    #Generamos la entrada de Neurria
    tkinter.Label(self.ventana, text='Neurria').place(x=10,y=70)
    tkinter.Entry(self.ventana, textvariable=neurria_Var, width=10).place(x=70,y=70)

    #Generamos la entrada de bidaiak
    tkinter.Label(self.ventana, text='Bidaiak').place(x=140,y=70)
    tkinter.Entry(self.ventana, textvariable=bidaiak_Var, width=10).place(x=200,y=70)

    #Generamos la entrada de prezioa
    tkinter.Label(self.ventana, text='Prezioa').place(x=10,y=100)
    tkinter.Entry(self.ventana, textvariable=prezioa_Var, width=10).place(x=70,y=100)

    #Generamos la entrada de Fakturazioa
    tkinter.Label(self.ventana, text='Fakturazioa').place(x=140,y=100)
    tkinter.Entry(self.ventana, textvariable=fakturazioa_Var, width=10).place(x=200,y=100)

    #Imprimir un cliente
    tkinter.Label(self.ventana, text='Numero en la lista').place(x=80,y=300)
    tkinter.Entry(self.ventana, textvariable=self.num_lista_Var, width=10).place(x=200,y=300)
    tkinter.Button(self.ventana, text="Sakatu", command =self.escribir).place(x=250,y=300)




    #Creamos un tipo de dato bezeroak en la variable bezeroa
    self.bezeroa = bezeroak()
    self.bezeroa.izena = izena_Var
    self.bezeroa.abizena = abizena_Var
    self.bezeroa.herria = herria_Var
    self.bezeroa.tlf = tlf_Var
    self.bezeroa.neurria = neurria_Var
    self.bezeroa.bidaiak = bidaiak_Var
    self.bezeroa.prezioa = prezioa_Var
    self.bezeroa.fakturazioa = fakturazioa_Var

    tkinter.Button(self.ventana, text="Bezero Berria", command =self.crear_cliente).place(x=10,y=150)
    tkinter.Button(self.ventana, text="Datuak_Kargatu", command =self.cargar_datos).place(x=200,y=150)

    tkinter.Button(self.ventana, text="Gorde", command =self.Guardar).place(x=10,y=200)
    tkinter.Button(self.ventana, text="Irten", command=quit).place(x=200,y=200)

    self.ventana.mainloop()

####### Funcion  Escribir          #########################################################       
def escribir(self):
    print('Izena:',self.lista_clientes(0).izena)
    print('Abizena:',self.lista_clientes(0).abizena)
    print('Herria:',self.lista_clientes(0).herria)
    print('Telefonoa:',self.lista_clientes(0).tlf)
    print('Neurria',self.lista_clientes(0).neurria,'cm')
    print('Bidai Kopurua',self.lista_clientes(0).bidaiak)
    print('prezioa',self.lista_clientes(0).prezioa)
    print('Fakturazioa',self.lista_clientes(0).fakturazioa)

######## End Funcion Escribir     #########################################################


####### Funciona Guardar          ######################################################### 
def Guardar(self):
    if (self.pos_bezeroa == 0):        
            lineas = ""
    else:
            lineas = "n"                

    Datos_Bezeroa =lineas+self.lista_clientes(self.pos_bezeroa).izena.get()+";"
    Datos_Bezeroa += self.lista_clientes(self.pos_bezeroa).abizena.get()+";"
    Datos_Bezeroa += self.lista_clientes(self.pos_bezeroa).herria.get()+";"
    Datos_Bezeroa += str(self.lista_clientes(self.pos_bezeroa).tlf.get())+";"
    Datos_Bezeroa += str(self.lista_clientes(self.pos_bezeroa).neurria.get())+";"
    Datos_Bezeroa += str(self.lista_clientes(self.pos_bezeroa).bidaiak.get())+";"
    Datos_Bezeroa += str(self.lista_clientes(self.pos_bezeroa).prezioa.get())+";"
    Datos_Bezeroa += str(self.lista_clientes(self.pos_bezeroa).fakturazioa.get())+";" #Añadimos el "end" como final de datos del cliente

    archivo=io.open('Log_Datos.ods','a')
    archivo.write(Datos_Bezeroa)
    archivo.close()
######## End funcion Guardar       #########################################################

####### Funciona Crear Cliente     #########################################################
def crear_cliente(self):
    self.lista_clientes.append(self.bezeroa)
    print (len(self.lista_clientes))
    self.pos_bezeroa=len(self.lista_clientes)-1
    print (self.pos_bezeroa)
    self.Guardar()
######## End funcion Crear Cliente #########################################################

######## Funciona Cargar Datos     #########################################################
def cargar_datos(self):
    ######## Abrir tranferir a Datos_clientes y cerrar archivo#######################################
    #        Lo leemos con redlines y nos devuelve una lista                                #
    archivo=io.open('Log_Datos.ods','r')
    datos_clientes=archivo.readlines()
    archivo.close()

    print (datos_clientes)
    i=0

     ######## Bucle While #############################################################################

    while i < len(datos_clientes):
            var_clientes             = datos_clientes(i).split(";")
            self.lista_clientes.append(self.bezeroa)       
            self.lista_clientes(i).izena       = var_clientes(0)
            self.lista_clientes(i).abizena     = var_clientes(1)
            self.lista_clientes(i).herria      = var_clientes(2)
            self.lista_clientes(i).tlf         = var_clientes(3)
            self.lista_clientes(i).neurria     = var_clientes(4)
            self.lista_clientes(i).bidaiak     = var_clientes(5)
            self.lista_clientes(i).prezioa     = var_clientes(6)
            self.lista_clientes(i).fakturazioa = var_clientes(7)             
            print (self.lista_clientes(i).izena)
            print (self.lista_clientes(i).abizena)
            print (self.lista_clientes(i).herria)
            print (self.lista_clientes(i).tlf)
            print (self.lista_clientes(i).neurria)
            print (self.lista_clientes(i).bidaiak)
            print (self.lista_clientes(i).prezioa)
            print (self.lista_clientes(i).fakturazioa)

            if i>=1 :                        
                    print (self.lista_clientes(i-1).izena)
                    print (self.lista_clientes(i-1).abizena)
                    print (self.lista_clientes(i-1).herria)
                    print (self.lista_clientes(i-1).tlf)
                    print (self.lista_clientes(i-1).neurria)
                    print (self.lista_clientes(i-1).bidaiak)
                    print (self.lista_clientes(i-1).prezioa)
                    print (self.lista_clientes(i-1).fakturazioa)

            i=i+1

    ######## Fin Bucle While
    ######## #############################################################################

    print (self.lista_clientes(1).izena)
    print(self.lista_clientes(1).abizena)
    print(self.lista_clientes(1).herria)
    print(self.lista_clientes(1).tlf)
    print(self.lista_clientes(1).neurria)
    print(self.lista_clientes(1).bidaiak)
    print(self.lista_clientes(1).prezioa)
    print(self.lista_clientes(1).fakturazioa)
    print('longitud listabezeroak', len(self.lista_clientes))

    ######## End funcion cargar datos #########################################################

def main():
    lista_clientes=()
    mi_app = interface(lista_clientes)
    return 0

if __name__ == 'main':
 main()

performance: MongoDB inserts data if it does not exist and updates only the array if it exists in a large number of documents

So, I have approximately 1M of records to insert first and then update an array in them every time I run the script.

A typical record

    { 

    "_id" : Object(), 

    "id" : "my_unique_id", 

    "name" : "my name", 

    "books" : (
{
"name" : "The last song",
"author" : "some_author"
}
) 

    }

So, I have about 1M of these records when the database has no documents, you can simply insert the data, but when the database has the records, the database should only be updated. "books" matrix and insert the new data we have, I mean, push the books.

Currently, I am doing this, looking for documents, if it exists, I enter them and, if not, I simply insert them, but as my database reached 25k records, I get this error.

Code to insert documents

async function insert_document(my_object, collection_name) {

insertion_requests_values++

while (insertion_requests_values > insertion_requests_values_threashold)
{
    await sleep(300)
}


let stats = my_object("statistics")
stats("time") = new Date().toISOString().slice(0, 19)
    .replace('T', ' ')+'.'+ new Date().getMilliseconds();



my_object("statistics") = ()
my_object("statistics").push(stats)





// The code is commented becase it simply insets a document, we need updations

// database_object.collection(collection_name).insertOne(my_object, function(err, res) {
//     if (err) {
//
//         errorLog(err)
//         return
//     }
//     log("documents inserted = " + ++inserted_documents);
// });




var query = { id: my_object.id};
database_object.collection(collection_name).find(query).toArray(function(err, result) {
    insertion_requests_values--

    if (err) {


        errorLog(err)
        return
    }
    if(result.length > 0 ) {
        let newValue = result(0)

        try {


            newValue("statistics").push(stats)
        }
        catch (e) {
            newValue("statistics") = ()
            newValue("statistics").push(stats)

        }
        database_object.collection(collection_name).updateOne(query, { $set: newValue },  { upsert: true }, function(err, res) {
            // insertion_requests_values--
            if (err) {

                errorLog(err)
                return
            }
            log("document updated= " + ++updated_documents);
        });


        //The code is commented becuase it deletes and add new document
        //The code in the comments is basically looking for existing documents and then deleting
        // that document and inserting new one, same as updating stuff
        // database_object.collection(collection_name).deleteOne(query, function(err, obj) {
        //     if (err) {
        //
        //         errorLog(err)
        //         return
        //     }

        // database_object.collection(collection_name).insertOne(my_object, function(err, res) {
        //     if (err) {
        //
        //         errorLog(err)
        //         return
        //     }
        //     log("document updated= " + ++updated_documents);
        // });
        // });


    }
    else {


        database_object.collection(collection_name).insertOne(my_object, function(err, res) {
            // insertion_requests_values--

            if (err) {

                errorLog(err)
                return
            }
            log("documents inserted = " + ++inserted_documents);
        });

    }
});

}

Error that mongo is giving …

2019-08-18T16: 02: 14.823 + 0000 I command (conn16)
TubeC.TubeCVideos command: find {find: "TubeCVideos", filter: {id:
"nHpdrzJA5NY"}, returnKey: false, showRecordId: false, $ db: "TubeC"}
plan Summary: COLLSCAN keys Examined: 0 documents Examined: 28108
cursor Sold Out: 1 num Performance: 221 not returned: 1 resale: 3753 locks: {
Global: {acquireCount: {r: 222}}, Database: {acquireCount: {r:
222}}, Collection: {acquireCount: {r: 222}}} storage: {}
protocol: op_msg 129ms

How can I achieve that with 1M records using NodeJs?

data structures – Number of nodes in a BST between two given numbers

Suppose there is a balanced binary search tree with $ n $ nodes, where in each node, in addition to the key, we store the number of elements in the subtree rooted in that node.

Now, given two elements $ to $ Y $ b $such that $ a <b $, we want to find the amount of elements $ x $ in the tree that lies between $ to $ Y $ b $, that is to say, $ a leq x leq b $. This can be done with (choose the best solution).

$ O ( log n) $ comparisons and $ O ( log n) $ additions
$ O ( log n) $ comparisons but no more additions.
$ O left ( sqrt {n} right) $ comparisons but $ O ( log n) $ additions
$ O ( log n) $ comparisons but a constant number of additions.
$ O (n) $ comparisons and $ O (n) $ additions, using depth search first.


I got this and Find the number of X elements in the tree that are between a and b
but you still can't get, if only the O (log n) comparison is enough to find the number of nodes?

Let's say if our answer is a complete tree, so how only log n comparison can do that with log n sum? We need n sum.

law??

asp.net core – Save legacy data in C #

Guys, good night.

I am studying C #, and one of the questions that arose is this:

I have a class student:

public class Aluno
{
    public String Nome { get; set; }
    public String Ra { get; set; }
    public Decimal NotaB1 { get; set; }
    public Decimal NotaB2 { get; set; }


    public Decimal getMedia()
    {
        return (NotaB1 + NotaB2) / 2;
    }

}

A class Technologist student inheriting from the student:

 public class AlunoTecnologo : Aluno
{
    public Decimal NotaPim { get; set; }

    public Decimal getMedia()
    {
        return NotaPim * 0.2m + base.getMedia();
    }
}

I'm simulating data persistence in a database, so I created the class Dao student where I create a list to keep students in memory:

public class AlunoDao
{
    private List alunos;

    public AlunoDao()
    {
        alunos = new List();
    }

    public void Adicionar(Aluno aluno)
    {
        alunos.Add(aluno);
    }

    public List Listar()
    {
        return new List(alunos);
    }
}

However, when saving a Technologist student In this list, the average is calculated using the class method. student and not class Technologist student where one more note is inserted. Here is an example of how the code looked:

static void Main(string() args)
    {
        Aluno vizu = new Aluno()
        {
            Nome = "Joao Vizu",
            Ra = "N300361",
            NotaB1 = 7.5M,
            NotaB2 = 10M
        };

        AlunoTecnologo lais = new AlunoTecnologo()
        {
            Nome = "Lais Silva",
            Ra = "545454",
            NotaB1 = 7.5M,
            NotaB2 = 10M,
            NotaPim = 9M
        };

        AlunoDao dao = new AlunoDao();

        dao.Adicionar(vizu);
        dao.Adicionar(lais);

        foreach (Aluno aluno in dao.Listar())
        {
            Console.WriteLine($"Nome: {aluno.Nome}tNotaB1: {aluno.NotaB1}tNotaB2: {aluno.NotaB2}tMedia: {aluno.getMedia()}");
        }

        Console.ReadKey();
    }

What should I do to be able to add the correct data for each student to this list, after the inheritance? Should I create a DAO class for StudentTechnologist?

macros – VBA – Cannot delete objects if Data Validation is used

Novice here, but I have exercised especially the Google that I can do to find the solution and I simply have not found one anywhere. I wonder if any expert VBA boy / girl can help a newbie …

Problem: When I use Data Validation to create drop-down lists / lists, I can no longer run a macro that deletes objects using the "INTERSECT" technique.

Macro: my workbook is essentially a calendar for flights and academic courses. Full disclosure, I run a macro that merges (I deduce that people are allergic to fusion, but it suits my specific purpose). The macro copies a template for the one-day event from another tab, the copy in the current tab, which IMPORTANT includes objects … check boxes / images and the like … honestly, I'm not a professional, it's quite rudimentary. Ideally, you would be able to copy cells that have lists with data validation to be able to choose crew members / students / etc. from a fixed list, but this is where I run into problems.

A second macro that I run is a "Delete day" macro, which should essentially reset the day / delete all cell contents / delete all formatting, etc. It also uses an INTERSECT technique to erase images / check boxes (see code below). If I don't use data validation, all this works perfectly: zero errors. However, if I use data validation, the macro is broken.

The macro really achieves everything it is designed to do, and the Intersect method works fine, but I get an error:

1004 – Error defined by the application or defined by the object

… which then returns to the macro code and highlights the INTERSECT line.

Once again, the macro does everything it needs (objects are deleted, cells are completely restored, etc.). But this error prevents me from feasibly using drop-down lists / lists without much headache. I need it to be an easy-to-use product for someone other than me.

Any ideas?

Weird things:

  • The problem only occurs when I actively select the drop-down list. If I copy / paste a drop-down list but never select it, my "MsnClearDay" macro still works without errors

  • The problem also occurs if I execute a "Range.Validation.Delete" or "Range.Clear / Range.ClearContents" command.

  • The problem does NOT occur if I remove all the cells and refill them. I ran macros to remove all those cells and reinsert new cells, and this solves the problem, allowing me to execute my "Remove objects" part of my macro.

^ Due to that last point, I suspect there is some kind of & # 39; cell type & # 39; or another feature that applies to a cell as soon as I select it and is displayed as a drop-down / list menu … but my coroner has not been able to find out.

The code is below

        Sub MsnClearDay()
    'Clears a full day; user must select the upper left-most cell for this macro to work properly

    'Confirms user wants to execute the function
        If MsgBox("This will erase the current day! Are you sure?", vbYesNo) = vbNo Then Exit Sub

    ActiveCell.UnMerge
    Range(ActiveCell, ActiveCell.Offset(19, 9)).Clear
    With Range(ActiveCell, ActiveCell.Offset(19, 9)).Validation
        .Delete
    End With

'This part deletes objects (checkboxes/images)

    Dim s As Shape
    Set r = Worksheets("DET 2 Whiteboard").Range(ActiveCell, ActiveCell.Offset(19, 9))

    For Each s In ActiveSheet.Shapes
        If Not Intersect(r, s.TopLeftCell) Is Nothing Then
            s.Delete
        End If
    Next s

    End Sub

Thank you all for the time! It would be much appreciated!
– StarfoxC17

2013: different IDs for the managed service "Application of health and usage data collection service"

I am working on local sharepoint 2013. and I am trying to obtain the ID of the "Application for the use of health and data collection service", but I obtained different IDs:

1] When I run this PowerShell I get this ID: –

PS C:Usersspfarm.user> Get-SPServiceApplication -Name  WSS_UsageApplication

DisplayName          TypeName             Id
-----------          --------             --
WSS_UsageApplication Usage and Health ... 80ace510-005c-4786-86fc-bfd3848e2d79

When using this PowerShell, I got this ID: –

PS C:Usersspfarm.user> Get-SPServiceApplicationProxy

    DisplayName          TypeName             Id
    -----------          --------             --
    WSS_UsageApplication Usage and Health ... 21c44849-db6e-4be8-9d2e-84755dcc664a

So what ID should I trust? Or do I have a problem inside our farm?
Thank you

aggregate – Pandas: sample data by taking a weighted average of the nth highest percentile of data within the sampling window

I have the following data

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

date_today = pd.Timestamp(1513393355.5, unit='s')
days = pd.date_range(date_today, date_today + timedelta(1), freq='s')

np.random.seed(seed=1111)
data_price = np.random.randint(2, high=10, size=len(days))
data_quantity = np.random.randint(2, high=100, size=len(days))

df = pd.DataFrame({'ts': days, 'price': data_price, 'quantity': data_quantity})
df = df.set_index('ts')
print(df.head())

                         price  quantity
ts                                      
2017-12-16 03:02:35.500      6        30
2017-12-16 03:02:36.500      9        18
2017-12-16 03:02:37.500      7        85
2017-12-16 03:02:38.500      3        51
2017-12-16 03:02:39.500      6        19

I would like to resample the data in 10-minute intervals, classify the observations within each 10-minute window by increasing the price order, take the top 20% of the data after the classification and then calculate the weighted average price (it is say, the price weighted by the amount), and the sum of the amount of the top 20% of the data.

Here is a solution that uses the groupby function to calculate the weighted average price. But I would like to apply the weighted average and add only to the top 20% of the data.

How can I do this elegantly with pandas? I am confused on how to make the classification within the resampling window.

Thank you!

plotting – Set a function, a (x – 1) ^ b, to a given data set

You have just edited your original data, but I used the original before you.

Try this

data = {{0.3, 0}, {0.5, 0}, {0.84, 0}, {1, 0}, {1.16, 159.1940}, {1.3, 218.835}, 
  {1.5, 278.0620}, {1.8, 340.758}, {2.01, 374.9820}, {2.3, 416.09}, {2.49, 439.6510},
  {2.8, 473.367}, {2.99, 492.4980}, {3.3, 521.149}, {3.5, 538.4470}, {3.8, 563.011},
  {4.01, 579.4590}, {4.3, 600.841}, {4.51, 615.5270}, {4.8, 635.659}, {4.98, 647.8910},
  {5.3,668.192}, {5.5, 680.684}, {5.8, 698.925}, {6, 710.746}, {6.3, 728.073},
  {6.5, 739.405}, {6.8, 755.988}, {7, 766.847}, {7.3, 782.793}, {7.5, 793.227},
  {7.8, 808.629}, {8, 818.706}, {8.3, 833.612}, {8.5, 843.363}, {8.8, 857.815}, 
  {9, 867.267}, {9.3, 881.302}, {9.5, 890.536}, {9.8, 904.183}, {10, 913.159}};
sumsquared=Total(Map((#((2))-a*(#((1))-1)^b)^2&,Drop(data,4)));
sol=NMinimize(sumsquared,{a,b});
Show(ListPlot(data),Plot(a(x-1)^b/.sol((2)),{x,1,10}))

You may notice that I deleted your first four data points because zero values ​​stopped and were causing complaints about complex values. Then I took the rest and made a sum of squares and minimized that. The result looks pretty good, even if the residual is not close to zero, probably due to the size of its values ​​and.

See if that is good enough for your purposes.

Website design: how to effectively obtain data from the incorporation process?

We currently have a very basic Incorporation process when registering on the platform.
It consists of 3 screens:

  1. Welcome to the platform.
  2. Ask to enter personal data (date of birth, gender, city where you currently reside, country, place of birth)
  3. It asks you to write a brief description of yourself, choose soft skills from a drop-down menu and professional skills from another drop-down menu.

It can be said that we are asking for somewhat confidential data, but the reason for this is equipment pairing. We want to put users on computers based on their current residence, as well as on the combination of soft and hard skills. However, the incorporation process does not seem motivating and rather aggressive.

Reading about the different methods of incorporation, I mainly gathered information about what should be an introduction to the platform and then some kind of tutorial (simply). But I couldn't find anything on how to effectively obtain user data in the incorporation process.

So how can we make it more motivating for users to complete the incorporation and not skip? Is there a logical order about which questions to ask first and what last? Make it gamified? Maybe also make chips instead of deployable?