Chiamata alle armi, sursum corda!

Questa sera a Torre Annunziata in via Torretta di Siena la mia famiglia è stata vittima di una rapina a mano armata, i due malviventi con il volto coperto e con abiti scuri hanno minacciato mia madre, mia sorella e le mie due figlie di 6 e 8 anni, puntando una pistola verso le bimbe e scippando la borsa a mia madre. Il gesto di minaccia nei confronti delle bimbe per ottenere soldi ci consegna una fotografia della società odierna, una società pronta a sacrificare i bambini ad ogni costo, una società che usa i bambini come merce di scambio talvolta anche sessualizzando la loro immagine nelle pubblicità, sui social, nei talent show, ebbene questa è una società votata all’autodistruzione.

Mi chiedo come siamo arrivati fin qui, di certo non è solo colpa dei media, che sono al soldo delle multinazionali e che propongono solo intrattenimento spazzatura e quindi poco o nulla che riguardi la cultura; di certo non è solo colpa della scuola, che viene costantemente violentata, spolpata di contenuti e rimpinguata di metodi e metodologie che servono solo a rendere i ragazzi poco avvezzi al sacrificio e alla sfida personale, rendendoli resilienti e non RESISTENTI; di certo non è solo colpa delle famiglie, che sono sempre più povere per cui non sono sufficienti neanche due lavori per vivere una vita dignitosa; di certo non è solo colpa della politica, che non rispecchia più le esigenze dei cittadini ma solo quelle di elite private del Big Tech, Big Pharma e del petrolio pronte a creare sempre nuovi bisogni (emergenze) che saranno soddisfatti con la vendita e il consumo dei loro prodotti. Falcone diceva “segui i soldi e troverai la mafia” ebbene la mafia che oggi insidia i nostri figli, il nostro futuro, il futuro del mondo è la più meschina di sempre perché usa i soldi per mantenere stupida la gente, creando un mondo a due livelli, sotto c’è il popolo gregge che consuma e si scanna se non riesce a consumare e sopra c’è l’elite che governa i flussi di miliardi grazie ai quali mantengono il popolo nel suo recinto. Ormai è evidente che è stata innescata una guerra fra poveri, dove i figli di alcuni attentano alla vita dei figli di altri ma manca purtroppo la consapevolezza nel comprendere che in verità sono tutti figli nostri!

In una città dimenticata dallo Stato, in uno Stato in cui ormai ci sono più criminali e complici che servitori del popolo è giunto il momento in cui i cittadini insorgano e con un movimento di Rivoluzione sovvertano il dis-ordine stabilito da pochi corrotti o inetti per instaurare un ordine sociale, economico e politico radicato nella spiritualità, nel bene comune e nel senso di appartenenza culturale.

Thread Join in linguaggio C

Di seguito viene mostrato un esempio di codice che crea un thread nel cui codice viene generato un numero casuale da 1 a 6, simulando il lancio di un dado.

#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>

int parametroOUT;
void* codice(void *arg){
	srand(time(NULL));
	parametroOUT = (rand() % 6)+1;
	pthread_exit((void*) &parametroOUT);
}

int main(){
	int *risultato;
	pthread_t t1;
	pthread_create(&t1, NULL, codice, NULL);
	pthread_join(t1, (void*) &risultato);
	printf("dado estratto: %d\n", *risultato);
	return 0;
}

Fork Join in linguaggio C

Di seguito si mostra un esempio del costrutto Fork Join utilizzando le funzioni fork() e wait() del linguaggio C. In particolare sia il processo padre che il processo figlio eseguiranno in parallelo dei calcoli ed in fine il processo padre sommerà i risultati dei calcoli paralleli.

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>

int potenza(int n, int e){
	int k=n;
	int i;
	printf("1.1 elab. parallela processo figlio\n");
	for(i=1;i<e;i++) k=k*n;
	return k;
}

int fattoriale(int n){
	int k=n;
	int i;
	printf("1 elab. parallela processo del padre\n");
	for(i=n-1;i>0;i--) k=k*i;
	return k;
}

int somma(int a, int b){
	int k;
	printf("2 elab. finale padre \n");
	k=(a+b);
	return k;
}

int main(){
	int x, y, z, retv;
	pid_t pid;
	pid=fork();				//inizio elaborazione parallela
	if(pid == 0){
		x=potenza(3,3);		//esecuzione parallela calcoli figlio
		exit(x);			//termina processo figlio
	}
	else{
		y=fattoriale(4);	//esecuzione parallela calcoli padre
	}
	printf(".. join: padre aspetta \n");
	wait(&retv);			//join: il padre aspetta il figlio
	x = WEXITSTATUS(retv);	//prende il risultato del figlio
	z = somma(x,y);			//esegue gli ultimi calcoli
	printf("-> risultato finale z = %d \n", z);
}

Utilizzare gli array, il ciclo for, i numeri random e la funzione potenza nel linguaggio C

Scrivere un programma in C che popola un array di grandezza DIM_ARRAY con un ciclo for inserendo un valore casuale tra 1 e 100.
Successivamente copiare la potenza di 2 di ogni valore dell’array A in un nuovo array B ma con ordine inverso.

#include <stdio.h>
#include <stdlib.h>
#include <time.h> //questa libreria mi serve per richiamare la funzione time(0)
#include <math.h> //pow(n,e);  n=numero e=esponente es: pow(5,2) = 25
 
#define DIM_ARRAY 10

void main() {
	int A[DIM_ARRAY];
	int B[DIM_ARRAY];
	int i;
	srand(time(0));	//inizializiamo il generatore su time(0) per avere valori sempre diversi
	printf("Inizializzo e stampo Array A\n");
	for(i=0;i<DIM_ARRAY;i++){
		A[i]=1+rand()%100; //inserisco nell'array un numero casuale tra 1 e 100
		printf("A[%d]: %d",i,A[i]);
		printf("\n");
	}
	printf("Inizializzo e stampo Array B\n");
	int j=0;
	for(i=DIM_ARRAY-1;i>=0;i--){
		B[i]=pow(A[j],2);
		j++;
		printf("B[%d]: %d",i,B[i]);
		printf("\n");
	}
}