Ancora qualche novità dal sito dell'INPS...

programmazione
Ancora qualche novità dal sito dell'INPS...

Posted Apr 4, 2020, 12:58 PM UTC

29978
LBreda•

Chiunque abbia lavorato mezzo minuto nell'informatica in vita sua vede bene che NON è vero che "il codice è sbagliato". Sono sbagliati i requisiti, tuttalpiú. Non è lo sviluppatore che deve sapere quali prefissi esistano.

88
fen0x•

Se lo sviluppatore non sa quali requisiti devono essere inseriti perchè i requisiti che gli hanno passato sono troppo generici ("consentire solo i numeri di dispositivi mobili") o addirittura sbagliati, se lavorasse bene, allora si ferma e chiede lumi al proprio responsabile e non inserisce una regex a muzzo, solo per finire il lavoro.

Ora, nessuno di noi sa come sono andate realmente le cose: se le specifiche sono sono state scritte da gente senza il pollice opponibile, se il capo progetto se ne sia bellamente fottuto e abbia cercato solamente di portare a termine il tutto nei tempi previsti, se il programmatore che ha scritto quella robaccia sia pagato un tozzo di pane e se ne sia fregato. Ed è proprio per questo che di dare assoluzioni a prescindere a ciascuno degli attori che hanno contribuito a questo disastro, io proprio non me la sento.

22
Caffettiera•
  • "Signor manager, da nerd ho notato che i numer..."
  • "AHO' NON DEVI ROMPERE LI COIONI, STO STRONZO, NON BASTA CHE PER DARGLI STI 800 EURO NON HO PRESO IL VOLANTE TERMORISCALDATO, MO' DEVE PURE ROMPE' L'CAZZO
29
fen0x•

"Piove, Accenture ladra"

19
Caffettiera•

This but unironically

Tutte le volte che ho avuto a che fare con soldi pubblici il modo di lavorare era il buon vecchio: come possiamo chiudere la cagata in modo economico e fottere il resto ?

16
pacionet•

Nel 99% dei casi il problema è nei requisiti. Per grande ente italiano abbiamo sviluppato portale per acquistare un certo prodotto ... la gestione degli errori è stata fatta DOPO il go-live perché non erano in grado di fornirci un elenco completo e dettagliato degli errori di sistemi di backend (già esistenti!) con relativi messaggi di errore.... ed è una roba da migliaia di euro

2
jcrtron•

Parole sante, a quanto pare i motivi per cui tutto è crollato sono tanti (magari domani si blocca per chissà quale altro problema) e penso che a questo punto sia proprio inutile piangerci sopra; una volta passato questo periodo però si dovrà trovare una soluzione che funzioni.

1
fen0x•

In realtà guarda, in questo periodo mi vengono in mente le centinaia di riunioni in cui IT Manager illuminati si riempivano la bocca delle parole "disaster recovery", pensando che questo volesse dire solamente mettere qualche backup in cloud.

Il fatto è che abbiamo una classe dirigente che, è molto triste dirlo, non ha saputo guardare più in là del proprio naso e, ad essere buoni, dell'anno fiscale, senza alcuna proccupazione per ciò di cui la comunità scientifica ci ha sempre messo in guardia: una possibile (e probabile) pandemia virale.

4
jcrtron•

Vero anche questo, è proprio l'incapacità di "guardare oltre" che prima o poi (beh anche adesso in effetti) ci metterà in ginocchio, semplicemente perché vengono trascurati degli scenari/eventi che hanno bassa probabilità di verificarsi, che però puntualmente si verificano. Dobbiamo prepararci all'apocalisse? No, ma quantomeno bisogna garantire che ci siano delle infrastrutture solide facilmente adattabili a ogni evenienze.

2
tecnofauno•

ma in questo caso magari gli han fornito la lista dei pattern e lui li ha semplicemente implementati. cazzo ne sa che manca il 320? :D

1
fen0x•

magari

Ecco, appunto.

1
MrLuciooo•

Qui stiamo parlando di un servizio nazionale che dovrebbe garantire a tutti coloro con i dovuti requisiti l'accesso. Il problema, come dici te, non sta nello sviluppatore o nel codice, ma nel fatto che una serie di "falle", se così possiamo chiamarle, impediscono questo stesso accesso a molte persone che cercano disperatamente di richiedere il bonus da €600 per vivere. In questi giorni ho avuto esperienze dirette a riguardo, dovendo portare avanti una richiesta del 2015 che risultava scaduta ma che mi impediva di procedere con l'accesso comunque. Con tutto il rispetto, ci sono troppe variabili in gioco e non possono permettersi di avere tutti questi "microproblemi" sparsi.

19
360noscoperino•

Si ma quello che la gente non capisce e che questa piattaforma non era pre esistente, e’ stata creata da 0 in 2 settimane (tempo del decreto) e conoscendo come funziona la catena di comando in Italia nel settore pubblico, immaginate sti coder che hanno dovuto chiedere al tizio che ha chiesto al supervisore che ha mandato la PEC all’amministrazione per chiedere cosa si doveva fare.. sono il primo a mettersi in fila per spalare merda nel tech pubblico, ma sto giro non so quanti avrebbero potuto gestire la situazione “cosi tanto meglio” di come e’ stato fatto

6
ftrx•

Questo è un altro punto, un punto per cui serve tenere l'operation col ruolo che deve avere: ovvero avere un tecnico che quando gli si dice di fare una cosa improponibile ha competenza, autorevolezza e autorità per dire. NO. Non si può fare a questo modo.

Oggi, tanto nel pubblico come nel privato si spinge un modello ove l'amministrativo e dio e tutti gli son sottomessi per non aver contestazioni, questo modello è una rovina.

3
MrLuciooo•

La piattaforma esiste da molti anni, da ben prima che il decreto uscisse. La registrazione, quella che fornisce il PIN, è nata sempre qualche anno fa. L'unica cosa inserita in queste due settimane sarà stato il sistema che mette a disposizione il bonus. La maggior parte dei problemi che la gente sta avendo ora riguarda l'intera piattaforma in tutte le fasi del processo che porta a usufruire del bonus, e, tanto per fare un esempio, l'accesso di massa di qualche giorno fa che ha creato tanto scalpore era abbastanza prevedibile a parere mio.

1
360noscoperino•

Per una cosa cosi “complessa”, utilizzando software legacy (di chissa’ che anni e toccato da quante persone), piu varie validazioni richieste da governo e messe in piedi in quattro e quattrotto e processi con i quali devono essere emanati i bonus (se hai reddito x ma dichiarato y prendi bonus z e blah blah blah) informazioni sicuramenti mancanti lato manageriale, non adatti quello che hai di gia esistente, o per lo meno davvero poco (tipo il PIN toh)

In 2 settimane non riesci a fare il breakdown di tutte le variabili, casistiche, eventuali errori che possono accadere, non c’e’ tempo per sviluppare figuriamoci beta testing

La cosa non mi sento di darla in toto a sti poveri cristi QUESTA VOLTA(per le altre robe quando avevamo tempo invece si lol)

2
ftrx•

La farraginosità e ambiguità della burocrazia sono tali che il fattore umano spesso è la sola via d'uscita. Per questo non c'è sito, ovvero procedura, che possa tenere, solo un numero di telefono per chi si trova bloccato in una procedura.

Il boom di richieste può benissimo essere del cittadino medio che non ha voglia di muovere il dito, ma anche di chi ha un problema e siccome lo stato rappresenta tutti, da chi non può manco permettersi una connessione e i dispositivi per usarla al viziato fancazzista che non vuole muovere le dita sulla tastiera, pertanto la risposta è d'obbligo ed il solo modo di gestire il carico è con personale numericamente adeguato e lavoro locale, ovvero non il bel call-center nazionale ma numeri locali delle locali sedi coi locali operatori che rispondono, anche in smart-working per carità, magari con un filtro "digitami i numeri della tua CI per proseguire" non più complesso di così, e che abbiano la possibilità di agire.

La MANIA manageriale che un sistema e 4 gatti siano efficaci per n-mila è una causa di rovine che deve esser terminata. Non importa che in certi casi e termini sia possibile e persino comoda, è generalmente dannosa e spinge su chine pericolose.

2
kn0bbulo•

Ma anche no.

Seguire dei requisiti non significa buttare al cesso ogni forma di ragionamento. Creare codice scalabile è la base. Non dico debba essere perfetto (anche se con quel che è costato dovrebbe esserlo) ma chi ci lavora dovrebbe avere un minimo di amor proprio quando scrive certe cagate

1
LBreda•

Non vedo cosa c'entri con la scalabilità l'esclusione di alcuni prefissi,

1
kn0bbulo•

Che devi ragionare pensando che se metti hardcoded dei numeri, quelli possono cambiare santo Dio

Basta poco a fare anche un banale file di configurazione dove fetchi i dati. Almeno uno non deve navigare tra il tuo orribile codice per trovare dove sta l’inghippo

1
LBreda•

Ah che la soluzione trovata per mettere i numeri sia una merda siamo assolutamente d'accordo, ma non è il problema evidenziato nel post.

1
franklar001•

In linea di principio avresti anche ragione. Lo sviluppatore potrebbe essere stato costretto a fare una validazione dei numeri di telefono con parametri inutilmente restrittivi, e può aver avuto poco tempo.

Nel caso specifico, però, un po' tutto il codice JS è così:

// source: https://www.inps.it/bussola/include/newBussola.js?v=3    

/* Corregge problema position biblioteche */
try {
    if ($("#divImgBannerSX + #divImgBannerMenuSX").length) {
        var bibliotd = $("#divImgBannerMenuSX").parent("td");
        bibliotd.children("div:eq(2)").css("top", "218px");
        bibliotd.children("div:eq(3)").css("top", "218px");
        bibliotd.children("div:eq(4)").css("top", "228px");
        bibliotd.children("div:eq(5)").css("top", "226px");
        bibliotd.children("div:eq(6)").css("top", "226px");
        bibliotd.children("div:eq(7)").css("top", "226px");
        bibliotd.children("div:eq(8)").css("top", "226px");
        bibliotd.children("div:eq(9)").css("top", "224px");
        bibliotd.children("div:eq(10)").css("top", "224px");
        bibliotd.children("div:eq(11)").css("top", "226px");
    }
}
catch (e) {

}

E questo codice urla: "ciao, sono uno sviluppatore alle prime armi e non so cosa sto facendo, ma ho un tizio appollaiato dietro alle mie spalle che s'incazza se non gli sistemo il layout il prima possibile non importa come"

1
gionn•

Sempre a lamentarsi, è javascript, fixatelo da solo se ti serve che funzioni.

35
f0r4OP•

Sono d'accordo, dimostra un po' di meritartelo sto bonus babysitter! È una challenge

54
alberto_467•

Il prossimo passo è di fare un CTF!

8
FenriX89•

Sempre che i controlli non vengano ripetuti nel backend, come ci si aspetterebbe, non viene fatto alcun controllo nel backend vero?

Qualcuno provi a modificare il front-end e a mettere come numero 123viafasulla!!

15
gionn•

Percepisco del cauto ottimismo, io credo che invece rimarrai molto deluso.

5
FenriX89•

Dipende da cosa intendi per deluso, per esempio rimarrei deluso scoprendo che non posso mettere un numero di telefono con il prefisso 555 di Hollywood senza incappare in 2FA tramite SMS

5
EporediaIsBurning•

A logica lo stesso controllo dovrebbe essere lato server

1
elcapukkion•

Complimenti a Marco Aicardi per aver speso tutto quel tempo a deoffuscare il codice...ah, no, aspetta...

34
Mone181•

Ma a nessuno viene da pensare che il problema sia la mancata manutenzione e evoluzione della piattaforma?

Quando il codice è stato sviluppato probabilmente quei prefissi non erano ancora disponibili (o non si era voluto ancora abilitarli) e perciò se qualcuno li avesse inseriti sarebbero dovuti risultare come errati.

17
h4mi5h•

Sicuramente è andata come dici tu, è la cosa più realistica

Il problema è proprio questo, che hanno messo delle cose che non dovevano esserci: dopo sei mesi chi si ricorda dei prefissi ? Oppure, e se nessuno lo avesse saputo perché il codice è stato scritto in appalto ?

Se davvero volevo un numero di cellulare reale, non era il caso di creare una OTP per la validazione ?

10
Mone181•

Si, chiaro. Però non so quando sia stata sviluppata..

6
lucadonnoh•

320 esiste da sempre

6
[deleted]•

[deleted]

2
pacionet•

Non capisco di cosa ci si lamenta... il 70% dell'informatica in italia è schifezza, schifezza, schifezza a qualunque livello.

PS: la modifica per inserire il prefisso 320 nella regexp probabilmente verrebbe venduta come Change Request a un costo di 15 giorni persona. E' la norma in situazioni di questo tipo.

11
RingoMandingo•

centinaia di milioni di euro mi sembra un tantinello eccessivo, tho

6
SilverBull34•

https://www.inps.it/nuovoportaleinps/default.aspx?itemdir=46864 credo si riferisca alla somma complessiva dei vari anni e purtroppo è così, o perlomeno nel complesso si sono usati milioni di euro poi non è dato sapere come esattamente sono stati spesi sul portale (ad esempio i server fisici? l'interfaccia utente? il backend?)

10
RingoMandingo•

ho lavorato in passato per società che appaltavano da INPS.
Hanno una marea di portali, sistemi, siti, applicazioni enterprise, infrastrutture di eoni informatici fa che costano l'ira di dio da manutenere...
Secondo me non ha senso dire, sto sistema è costato 360 milioni e era pure buggato.
Non ha senso e non è neanche vero. È un pò come se vai a fare la spesa e spendi 85 euro in totale. Poi vai a casa, ti accorgi che le uova che hai comprato erano scadute e dici 'cazzo le ho pagate 85 euro e erano pure scadute'.
Va bene che tirare la merda sul sito dell'INPS è il meme del momento, però...

edit: perdonami u/SilverBull34 in realtà volevo rispondere a u/acevgam3

23
SilverBull34•

Np dude, resta il fatto che i soldi spesi nel complessivo siano tanti e mi piacerebbe se in futuro facessero una potata di rami vecchi e migliorassero globalmente l'infrastruttura. Vedere informazioni personali di altre persone e sentire che la causa è il traffico mi ha alquanto infastidito.

4
acevgam3•

Per quel sistema sta scritto sul sito dell'INPS che sono stati spesi 360 milioni di euro (andati a più aziende in più anni) ed il risultato è un sistema scritto oggettivamente male, tralasciando il crash del sito. Non dico che sia colpa tua ci mancherebbe, ma se troppe persone di aziende diverse ci mettono le mani si arriva a questo punto.

1
acevgam3•

Nei vari anni di bandi sono stati messi a disposizione 360 milioni di euro per costruire e mantenere l'infrastruttura informatica dell'INPS

3
gh3go•

Tanto non sarà validato server side...

5
FrontoWingo•

Forse

1
XMCMLXXII•

Io direi che il problema principale è che l'informatica è pensata ancora dal 90% dei manager pubblici e dal 60% dei manager privati (che non hanno background tecnico) come quella cosa che si fa da sola "tanto fa tutto il pc" e che ci vuole???? Dimostrazione di quanto non sia proprio considerata a livello politico sta innanzitutto nel fatto che non esiste un contratto specifico nazionale (tutti fanno quello che più gli aggrada dal commercio al metalmeccanico al turismo) nonostante occupi tantissime persone. Chi gestisce quei soldi non ci capisce nulla o fa finta di non capirci nulla per loro è solo una mangiatoia tanto nessuno riesce/vuole dare un "prezzo" a quel progetto tanto nessun super dirigente che deve dare i soldi sarà mai in grado di dire in maniera inopinabile che si sta pagando troppo. Infine non apro il vaso subappalto del subappalto del subappalto delocalizzato. Io ho lavorato nella PA e se gli dici perchè si appoggiano a queste grosse società la risposta è che almeno se succede qualcosa se la prendono con loro è solo per scaricarsi le responsabilità ma questo scarico costa tanti tanti nostri soldi a discapito del lavoro ben fatto.

5
MrLuciooo•

Perché non sono sorpreso?

3
FenriX89•

Almeno sanno cos'è un regex...

3
srandtimenull•

Una volta conoscevo un tizio che aveva un problema. Pensò di risolverlo con un'espressione regolare.

Quel tizio da allora ebbe due problemi

4
tharnadar•

Visto che hai analizzato il js, hai provato a bypassare il controllo? Chissà se hanno implementato la stessa validazione sul server

3
pokerissimo•

Ma hanno messo tutto in javascript? Backend non c'è un cazzo?

1
xImReD•

E' comunque la cosa migliore da fare dal punto di vista della user experience mettere il controllo iniziale con js poi validare sul backend.

6

Certo, in un sito fatto bene sì. Ma buona fortuna a sperare che quei dati siano validati server-side.

1
[deleted]•

[deleted]

1
FenriX89•

Vabbè non diciamo cagate dai! Offuscare il codice oltre a essere inutile è generalmente sconsigliato.

-4
TheS0rcerer•

Stavo pensando ad un estensione, per aiutare quei poveri cristi con Iliad che si sono ritrovati trombati dalla regex errata. Qualcuno sa se la validazione viene fatta anche nel back end?

1
[deleted]•

[deleted]

1
[deleted]•

[deleted]

1