Posts written by GILA75

view post Posted: 2/2/2020, 21:11 Perplessità processi (c,java,python, generico) - Informatica.
Grazie, domani guardo...ma sembra roba complicatuccia... :D
Non sono ai livelli vostri io...ma ci provo domani a mente fresca
view post Posted: 2/2/2020, 21:00 Perplessità processi (c,java,python, generico) - Informatica.
Proverò a vedere...
Sinceramente gli esempi di giochi come quello che voglio fare, in rete li ho visti tutti a processi.
Ma non li ho copiati, tanto vale se no, però li sto studiando.
Interessante sta cosa che dici però...grazie, guardo


EDIT:
ma tu dici gli automi a stati finiti ?
Mi è venuto in mente ora. Li ho usati per verificare la validità di stringhe ecc...ma qui non vedo il nesso :wb:
view post Posted: 2/2/2020, 20:44 Perplessità processi (c,java,python, generico) - Informatica.
CITAZIONE
be', il trucco è semplice: in quel 0.5 secondi non "stai sordo" ma fai altro, evitando solo di muovere il ladro

Si, ma supponi che sono nella routine ladro...muovo, faccio, disfo...prima di uscire metto uno sleep di 1 secondo.
Non posso uscire da quella funzione...è tutto bloccato: main ed eventuali altre funzioni.
Ecco perchè se non sto farneticando si rendono davvero necessari i processi. Sempre non stia prendendo una mega svista
view post Posted: 2/2/2020, 20:15 Perplessità processi (c,java,python, generico) - Informatica.
CITAZIONE
Guarda Gila (nome vero=? :) ) posso dirti che due cose che dici non sono vere:

Michele :)

CITAZIONE
2) il C non è affatto complesso!

Insomma...su certe cose, soprattutto quando ci sono di mezzo puntatori, puntatori a puntatori malloc&company, è facile
fare casini o perlomeno perderci tempo.

CITAZIONE
Gila, il 97% (sempre la stessa percentuale) di quello che hai scritto è sbagliato. ;)

Bene, mi fa piacere contribuire in modo fondamentale al forum :D :D
Scherzo dai


CITAZIONE
Sicuramente il fatto di avere linguaggi ad alto livello ha impigrito le persone. Ci sono però casi in cui non puoi assolutamente usare l'assembler, sempre che tu non voglia assicurarti il posto in un ospedale psichiatrico. Un caso tipico è quello in cui sei costretto a fare calcoli con numeri decimali, magari a virgola mobile. In questi casi usare l'assembler sarebbe decisamente anacronistico, oltre che difficilissimo (oltre tutto le funzioni/routines per il calcolo a virgola mobile dovresti fartele da solo, con un risultato che probabilmente sarebbe peggiore di quello contenuto nel compilatore C).

Sicuramente. Quello che intendevo dire è che una volta eri costretto a farti le ossa, con pochi mezzi : memoria, velocità,
registri, linguaggi non ad alto livello ecc...quindi per forza di cose dovevi partire bene, essere portato ed avere gli attributi.
Si spiega infatti come dicevate, che una volta c'erano meno programmatori.
Se non ci sapevi fare (suppongo) non combinavi nulla.
Quindi avevi un background solido...poi i programmatori di allora al 99% saranno bravi pure ora con C,Python ecc...
Viceversa adesso, partendo da "comodità", è più facile sottovalutare molti aspetti e sedersi.
Il programma va...stupisci gli amici...ma alla fine è una ciofeca. Questo intendevo.
Tornando un attimo ai processi, prima ho detto che potrei fare il gioco delle guardie e ladri anche a scansioni di refresh,
Ma mi sa che ho detto una caxxata.
Law diceva che una volta si facevano scansioni veloci con funzioni, tutto ottimizzato, di fatto una alla volta, quindi solo
un'illusione di simultaneità, ma che funzionava.
Riflettendo però nel mio caso mi sa che non è possibile.
Il gioco come sapete consiste in un ladro (magari un carattere) che sui muove in modo random.
Tu guardia tramite i tasti direzionali lo insegui.
Ma supponiamo che il ladro si muova una volta al secondo:
random---->stampa ladro---->temporeggia (sleep 1s)
io in questo secondo ho la routine della tastiera sorda. quindi non posso muovere nulla
Tutto peggiora aumentando il tempo.
Supponiamo di avere il controllo nel main dei tasti e in f1 il ladro.
Finche f1 non torna, il main è sordo.
Un po' come nei pic. Puoi fare il polling solo se tutto è veloce, altrimenti (se non ricordo male)
o usi moduli hardware indipendenti o usi gli interrupt.
Tempo fa, quando avevo fatto un termometro che trasmetteva via seriale a pc, avevo usato (so che Robo arricci il naso)
il polling. Meno bello degli interrupt, ma tutto sommato si poteva fare. In altri casi no.
Ecco credo che nel mio giochino riflettendo siano d'obbligo i processi, no ?
view post Posted: 2/2/2020, 11:18 Perplessità processi (c,java,python, generico) - Informatica.
Grazie ragazzi, come immaginavo: una scansione molto veloce e super ottimizzata o più processori.

CITAZIONE
Come ho premesso c'era gente che sapeva programmare veramente bene, non come la maggioranza dei "programmatori bimbi minchia" che usano il 97% delle risorse

e si, io purtroppo penso di far parte di quel 97% anche se non sono più un bimbo.
Il fatto è credo, che con l'avvento delle comodità (linguaggi ad alto livello), mediamente si diventa sempre più pigri
e meno propensi all'ottimizzazione.
Una volta, con poca memoria, velocità ridotte e tutto dovevi ottimizzare al 100%, e quindi t'impegnavi, altrimenti
non andava una cippa.
Ora, si può sprecare un po' di più, e questo è un male.
Faccio un esempio: quando ho scritto un programma per la generazione di un labirinto, avevo fatto una routine
che pescava a caso le 4 direzioni (su,giù, dx,sx): se occupato rifai.
Si può fare in modo di marcare occupata la posizione e fare il random solo su quelle rimanenti, ci vogliono poche righe di codice...ma per pigrizia ciclavo (alla brute force) finchè non trovava la via, se possibile. Altrimenti via di backtracking
e retrocedevo fino alla prima posizione buona.
Ok, pochi millisecondi sprecati, ma concettualmente è sbagliato: qualche ms qua, un po' la...e il programma diventa
un pachiderma.
Stessa cosa come vi avevo detto con altri linguaggi che ti offrono comodità immense tipo Python, rischi di sederti
e scrivere in 2 righe programmi pietosi (quello dei numeri primi che vi dicevo).
Il gioco del bruco o delle guardie e ladri in effetti potrei farlo senza processi, nessuno si accorgerebbe di nulla, ma era,
anzi è un esercizio per imparare cose nuove.
Comunque ogni volta che leggo le vostre esperienze passate, il percorso che avete fatto, e i tempi d'oro della
programmazione\elettronica mi viene un po' di sconforto.
Sono discipline che da hobbista sono veramente molto difficili, e anche impegnandoti, non potrai mai pretendere
di andare oltre ad un interessante gioco. E questo mi avvilisce un po'.
Più e più volte mi sono chiesto se non è tempo perso.
In passato anche con i pic avevo fatto cose ( dal mio punto di vista) abbastanza interessanti, scritte in asm.
Ma il mio asm, con tutto l'impegno che ci ho messo al 90% sarà meno prestante che scritto in C da un ottimo
programmatore...il che non non è il massimo.
Senza contare il fatto che la programmazione ha 2 cose fondamentali: ottima conoscenza del linguaggio: sintassi
ecc...cosa che con il C non è facile.
Ma non è abbastanza: uno può essere un drago in quello, ma ripeto non è abbastanza.
Bisogna conoscere un sacco di algoritmi collaudati, cose non intuitive. Alberi, tabelle di hash, ricerche binarie ecc...
Insomma bho...
view post Posted: 1/2/2020, 13:49 Perplessità processi (c,java,python, generico) - Informatica.
Domanda:

buttando giù le basi di giochi rudimentali, come il bruco, guardie e ladri che usano i processi mi sono chiesto una cosa:
Ma come facevano ad andare i giochi negli anni 80 ?
Cioè un commodore 64 credo avrà montato uno z80 o qualcosa del genere.
La simultaneità come veniva gestita ?
Non so immaginiamo un gioco con 10 omini che fanno qualcosa indipendentemente.
Ognuno potrebbe essere un processo a parte...e quindi ?
Era magari un finta simultaneità ? un refresh velocissimo ?
Non so proprio...
Magari gli input esterni (tastiera, joistik ecc...) immagino saranno stati gestiti con interrupt, ma il programma
del gioco proprio non so come facevano.
Non ricordo nulla per esempio del basic simile a processi ,thread ecc...
view post Posted: 1/2/2020, 13:39 Lavoro oggi,agenzie ecc... - Relax
Robo, ricordo solo ora che tu sei un "imprenditore" (le virogolette sono appunto perchè non ti piace molto il termine").
Preciso che non mi sto scagliando contro la categoria :)

La colpa non è tanto degli imprenditori. Esistono leggi, e nel mio caso non sono state violate: tot categoria (base), tot euro/ora (base anche qui).
Il punto è che pur essendo nella legge, se uno vale (requisito logicamente fondamentale), nulla vieta di dare una paga decente ad uno che ha 40/50 anni con mutuo, figli caxxi e mazzi.
Io quello trovo assurdo. é vero che ho cambiato settore, ma tutti gli scatti, aumenti ecc di 25 anni...bruciati.
Ora, io non dico che a scatola chiuso, chi assume possa dare dei soldoni, ma insomma nemmeno mettere alla stregua di un
neo lavoratore di 19 anni.
Tutto li. Poi io devo dire che sono stato fortunato. Ho fatto la mia "trafila" di mesi con l'agenzia, qualche rinnovo solito
che fanno le ditte, poi sono stato assunto. Sono stati di parola e di quello non mi dimentico.
Vedremo dai. L'importante è lavorare...anche se mannaggia a me i miei sogni sarebbero altri.

@Doc.

mi dispiace, ma pur non conoscendoti di persona, io su di te sono fiducioso, vedrai che prima o poi ti sistemi.
Bhò...non so, sensazioni, da come scrivi, come sei...logico da pc.
Però sappi che io mi sbaglio raramente. La mia compagna dice che ho il radar per le persone.
Non so se sia vero o meno ma quasi sempre anche da piccolezze ci azzecco :)
view post Posted: 31/1/2020, 08:11 Perplessità processi (c,java,python, generico) - Informatica.
Gia' la tattica di oggi. Che poi e' peggio di uccidere...
view post Posted: 30/1/2020, 20:31 Perplessità processi (c,java,python, generico) - Informatica.
ah... :D avevo intuito qualcosa...ma sono un po' ignorante in merito
view post Posted: 30/1/2020, 20:19 Perplessità processi (c,java,python, generico) - Informatica.
CITAZIONE
"ha fatto Crono, ha fatto" :D

no ho capito... :D :D

Sono solo prove per implementare piccoli giochi con ncurses.
Ma come tutte le cose, sembrano facili, ma i problemi e le insidie sono molte
view post Posted: 30/1/2020, 20:04 Perplessità processi (c,java,python, generico) - Informatica.
Se può interessare, credo di aver risolto. Questo programma genera 3 processi: 2 figli e un padre.
I figli a oltranza comunicano stringhe al padre, finchè il padre non riceve una stringa specifica che uccide i processi
figli.
CODICE
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/wait.h>
#include <string.h>

#define READ 0
#define WRITE 1

/* prova di 2 figli che comunicano col padre usando la stessa pipe
i figli leggono da input e scrivono al padre.
al padre quando arriva una determinata stringa uccide i processi
gila75 genn 2020

*/

void prova_pipe_w0(int pipe_out);
void prova_pipe_w1(int pipe_out);
void prova_pipe_r(int pipe_in);
void input_str (char str[]);



void input_str (char str[])
{
       int len_str;
       len_str=strlen(str);
       str[len_str-1]='\0';
}



void prova_pipe_w0(int pipe_out) //pipe0 figlio0(scrive)
{
       char buff[100];
       while(1)
       {
               fgets(buff,100,stdin);
               input_str(buff);
               printf ("in f0 %s\n",buff);
               write(pipe_out, buff, strlen(buff)+1); // scrivo  al padre
               
       }
}
//************************************************

void prova_pipe_w1(int pipe_out) //pipe0 figlio1(scrive)
{
       char buff[100];
       while(1)
       {
               fgets(buff,100,stdin);
               input_str(buff);
               printf ("in f1 %s\n",buff);
               write(pipe_out, buff, strlen(buff)+1); // scrivo  al padre
       }
}

void prova_pipe_r(int pipe_in) // pipe padre(legge)
{
       char buff [1024];
       int x;
       while(1)
       {
               read(pipe_in, buff, 1024); // leggo dai figli
               printf("padre riceve <%s>\n", buff);
               x=strcmp(buff,"fine");
               if (x==0)
                       break;
       }
       return ;
}
       

int main(int argc, char *argv[])
{
       int pid[2];
       int my_pipe[2];
       int x,status;
       // creo la pipe
       if (pipe(my_pipe)==-1)
       {
               puts("errore");
               return -1;
       }

       
       
//********************************************
//                        figlio 0
//********************************************
       
       pid[0] = fork();
       if ( pid[0] == -1 )
       {
               printf ("Impossibile creare un nuovo processo\n");
               exit(1);
       }

       if ( pid[0] == 0 )
       {
               close (my_pipe[READ]);
               prova_pipe_w0(my_pipe[WRITE]); //passo descrittore pipe scrittura
       }    

//********************************************
//                        figlio 1
//********************************************
       pid[1] = fork();
       if ( pid[1] == -1 )
       {
               printf ("Impossibile creare un nuovo processo\n");
               exit(1);
       }

       if ( pid[1] == 0 )
       {
               close (my_pipe[READ]);
               prova_pipe_w1(my_pipe[WRITE]); //passo descrittore pipe scrittura
       }    


       else // entro nel padre (main)
       {
               close(my_pipe[WRITE]); // chiudo scrittura
               prova_pipe_r(my_pipe[READ]); //apro lettura
       }

       kill(pid[0],1);
       x=wait(&status);
       printf (" processo %d finito con segnale %d\n",x,status);
       kill(pid[1],1);        
       x=wait(&status);
       printf (" processo %d finito con segnale %d\n",x,status);
       puts("fine");
       return 0;

}
view post Posted: 30/1/2020, 20:01 Lavoro oggi,agenzie ecc... - Relax
Bello leggere la tua storia Doc...solo 30 anni ma già un sacco d'esperienza.
Mi piace anche il tuo spirito d'iniziativa...in fondo ti conosco da 10 anni ormai qui sul forum ?
E non è una novità riappurare ancora che sei uno in gamba.
Purtroppo io a 45 anni, con famiglia (diciamo allargata, ma poco cambia), certe scelte ho paura a farle.
view post Posted: 30/1/2020, 16:56 Lavoro oggi,agenzie ecc... - Relax
Ciao a tutti, magari qui c'è qualche imprenditore che può spiegarmi alcune cose che mi lasciano davvero perplesso
sul mondo del lavoro di oggi.
Premetto che non sono accuse, si è qui per parlare.
3 anni fa, sono stato "costretto" a lasciare lo storico posto in cui lavoravo da 18 anni, settore lamiere.
Io punzonavo, tagliavo al laser piegavo, mi arrangiavo un po' in tutto.
La decisione è stata presa perchè la ditta andava male, dava delle buone uscite e lavorando in quell'azienda in due
(io e la mia attuale compagna), la scelta è stata obbligata.
Nel frattempo (maturata la decisione e prima di andarmene) ho tentato il passaggio diretto...tante belle parole e poi nulla.
Quindi rimasto a piedi, entro nel giro agenzie.
Mi chiamano subito in una ditta vicino a Como, con un contratto di 3 mesi.
Botta di fortuna (perchè avevano urgenza) mi mantengono la stessa paga.
Passano 3 mesi e cambio, era davvero troppo lontano da casa...ebbene la stessa fortuna non l'ho avuta.
Paga ribassata di parecchio.
Allora io dico, al di la che mi reputo fortunato che dopo nemmeno un anno mi hanno assunto fisso, ma io non
trovo giusto che dopo 25 anni di lavoro (e quindi la mia gavetta l'ho già fatta), se pur cambiando settore (catene),
mi trovo paragonato ad un ragazzino di 19 anni.
Insomma, che strategia è ?
Cerco di mettermi nei panni di un imprenditore, ci sono in giro migliaia di "brocchi" e "patacche", quindi si vorranno
tutelare, non dico di no.
Ma una volta capito il soggetto, perchè andare sempre al risparmio ?
Non so se è una politica italiana...bho.
Il mio datore è venuto più volte a dirmi che è soddisfatto (molto soddisfatto ha detto), e mi ha promesso qualcosa...
Vedremo se saranno parole e se non sono parole vediamo la cifra...
Però proprio riportare un 40-50 enne alla paga di un ragazzino non lo trovo giusto.
I piccoli aumenti sudati in 25 anni...pufff...neve al vento!!
Come fa uno essere stimolato e darsi da fare ?
Io ho imparato su una macchina dove nessuno vuole andare, con un insegnamento del tipo...arrangiati un po', sporca, pesante e comunque le cose devono uscire bene...
Poi ragazzini di 20 anni (mia stessa paga) a fare lavoretti belli.
Non voglio criticare e ripeto: di grazia ho un lavoro. Ma non è sintomo di un paese un po' allo sbando?
A volte, senza offesa per nessuno se qui c'è qualche impresario, ma non capisco: lauree, master, girato il mondo
per non capire la psicologia più spiccia: spendere 1 euro per guadagnarne 10...bho!!
Avessi 20 anni di meno, ora come ora me ne andrei :( ...ma non posso :D
view post Posted: 30/1/2020, 16:09 Laboratorio portatile in valigia - Elettronica generale
Fighissimo Doc, voglio rileggere bene. Mi sembra davvero una bella "valigetta"...certo che ne avrai "buttato" (scusa il termine...non è in senso negativo..anzi) di tempo a fare tutto, no ?
Per il resto, consigli tecnici...ai me'... passato troppo tempo e ricordo poco.
Complimenti ;)
view post Posted: 22/1/2020, 20:26 Perplessità processi (c,java,python, generico) - Informatica.
Non so, io sono passato a Ubuntu come dicevo perchè mi sembra più stabile, poi per programmare era già tutto bello pronto gcc ecc...in ambiente Windows avevo provato il Dev c++, ma era baggato a dir poco, faceva come voleva...e ora sono rimasto a Ubuntu.
Bhò, spero di non arenarmi, sembrava semplice ma comporta un sacco di casini per come lo voglio fare io.
Pazienza non ho data di scadenza...almeno ci provo
1581 replies since 4/11/2007