Tales from the Machine Room |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Allora, la mia opinione riguardo i vari PhProgrammatroti che sono in giro e si divertono a distribuire il loro PhVomito su tutti i sistemi che non sono sufficientemente attenti dal cacciarli via subito non appena li vedono dovrebbe essere sufficientemente chiara, ma nel malaugurato caso che vi siate distratti ed abbiate perso le ultime 50 storie o giu' di li o abbiate una pessima memoria, permettetemi di reiterarla qui:
NjaaaaaAAAAAHHHH GaaaaAAAAHAAAHHH WaaaaAAAAAAAHHHHHHHhh eccetera eccetera.
Questa settimana ci siamo (mi sono) beccato l'installazione del nuovo server per $brancodirintronati, i quali hanno deciso per qualche motivo anomalo di sviluppare il loro sito web con webapplicascion incorporata basando il tutto su una sottospecie di CMS scritto nel maledetto PHP.
Il "coso" e' disponibile in un bazilliardo di versioni diverse, apparentemente ne viene rilasciata una nuova per ogni giorno della settimana a parte la domenica quando ne rilasciano due. Ovviamente non c'e' modo di sapere che differenze ci siano tra due versioni diverse a parte che sono completamente incompatibili una con l'altra.
La cosa particolare e' che questo coso e' pubblicizzato come "orientato ai programmatori". Sicuramente una classe di programmatori cerebrolesi e tendenti al masochismo.
Comunquesia, mi scarico l'ultima versione disponibile, bestemmio sottovoce mentre cerco di capire di quali moduli questo coso ha bisogno e come dovrebbe essere configurato.
Scovo il file di configurazione che sostanzialmente dice "questo sistema non ha bisogno di configurazione". Smadonno per diverse ore per cercare di capire come funziona.
La "documentazione" e' (ovviamente) solo ed unicamente on-line ed (ovviamente) si riferisce a 3 versioni prima (grrr...).
Dopo parecchie bestemmie ed esperimenti scopro che questo "coso" si auto-inizializza leggendo un qualche file di configurazione che se inesistente viene creato con dei default e che io dovrei scrivere la mia configurazione in quel famoso file di configurazione se proprio sono interessato a cambiarne i default. Ovviamente il maledetto file di configurazione non e' documentato da nessuna parte.
ExcuuuUUUUuuuuse me, e' evidentemente colpa mia se non possiedo il potere della chiaroveggenza e non sono in grado di immaginarmi le caratteristiche di un sistema che non ho mai visto prima e spero sinceremente di non vedere mai piu' in futuro e che non sono documentate da nessuna parte.
Comunque, dopo aver scritto il foxxuto file di configurazione scopro che si incarta tutto, perche' la documentazione che ho scovato on-line si riferisce ad una qualche versione della settimana scorsa e nel frattempo i foxxuti bastardi hanno cambiato tutto il maledetto arnese e la configurazione e' completamente cambiata!
Dopo molte altre bestemmie scovo in un qualche foxxuto forum un qualche post di un povero pirla che potrei anche essere io che fa' alcune domande al riguardo e che (incredibile ma vero) riceve una risposta da uno dei foxxuti bastardi che hanno scritto questa montagna di letame il quale si riferisce ad un file di configurazione di esempio sul loro foxxuto sito interdet. Sito che non e' quello "standard" ed ovviamente il foxxuto file di configurazione non e' piu' disponibile ed una ricerca sul loro foxxuto sito interdet non ritorna altro che un foxxuto 404!
Dopo altre ardue ricerche, prove, riprove e madonne varie, riesco a scovare un file di esempio che dovrebbe essere per la versione che ho sotto le mani in questo momento. Il problema e' che questo file di configurazione non usa nessun database, mentre apparentemente questo branco di mammalucchi vuole per forza usare un database come supporto. Percui si tratta di cercare di fare un mix tra il file di configurazione che dovrebbe funzionare ed un esempio (per una versione ignota ma sicuramente non questa) che usa il foxxuto database.
Ed e' a questo punto che scopro che, se il file di configurazione appare sbagliato, il foxxuto coso si limita ad ignorarlo senza fornire alcun messaggio di errore o informazione. Sostanzialmente questo maledetto aggeggio si limita ad assumere che l'utente sia un emerito imbecille ed inabile a comprendere l'intrinseca superiorita' di chi ha scritto il foxxuto coso stesso e quindi non si merita di ricevere un messaggio di errore.
Come gia' detto prima: NjaaaaaAAAAAHHHH GaaaaAAAAHAAAHHH WaaaaAAAAAAAHHHHHHHhh eccetera eccetera.
Ma stramaledetto schifoso PHProgrammatroto, almeno dammi un qualche foxxuto messaggio di errore per dirmi che il foxxuto file di configurazione e' sbagliato invece di ignorarlo brutalmente e fare come straca$$o di pare, almeno so chi stramaledire prima che la nebbia rossa cali su di me e poi mi sveglio il giorno dopo con la faccia sporca di sangue ed i vicini che cercano il gatto...
Davide
22/11/2010 08:00
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
By Anonymous coward posted 22/11/2010 08:10
Pensavo che il giorno dopo si cercasse la banda di programmatori, piuttosto che il gatto...
-- Anonymous coward
By Denis posted 22/11/2010 09:00
Pare la mia esperienza - ancora in atto - su un software open purtroppo NON scritto in php. Il malefico arnese si chiama freeradius e la documentazione di quel coso fa assolutamente pena.
Chiedendo aiuto in lista (che come puoi immaginare è motlo trafficata) rispondono i programmatroti asserendo "the documentation is extensive", mentre tutto il resto di Internet cede a istinti masochisti strappandosi gli occhi ogni volta che vede quella fetecchia spacciata sotto forma di documentazione. Che è composta per i 3/4 da esempi di file di configurazione standard (servono a niente) e per il restante 25% da un wiki. Si un wiki. Dove sono spiegate le definizioni di termini arcani quali "SQL" e "Database" ma non c'è nemmeno una spiegazione dei 10-15 metodi di autenticazione di freeradius.
Shit happens.
-- Denis
By ElTurro posted 22/11/2010 09:09
1) Lascia stare il gatto dei vicini o te la vedrai con me
2) Non è che voglia difendere la categoria, ma evidentemente sopra ai programmatroti ci sono dei manager-lemuri (spesso ubriachi, altrimenti sbronzi) che non so preoccupano minimamente della qualità del loro lavoro. Conosco troppi "manager" che considerano l'attività produzione del software costituita da una sola attività: scrivere codice! "Analisi, documentazione e test sono robe da giapponesi per la quali non abbiamo tempo: qui dobbiamo essere proattivi!" : sono certo che non sfuggirà a nessuno l'assurda ironia....
Salut
-- ElTurro
By Sabriel posted 22/11/2010 09:16
Vedendo il primo ticket della giornata direi "che l'utente sia un emerito imbecille......... e quindi non si merita di ricevere un messaggio di errore "
Vengo convocata da uno dei medici perchè una delle aplicazioni che abbiamo rilasciato noi ha smesso di funzionare improvvisamente giungo al capezzale del povero pc:
Doc: ecco questo coso si è chiuso e non riparte piu
Io: ora vediamo. Che messaggio di errore ha dato?
Doc: si è chiuso e non riparte piu
Io: si ma deve aver dato un errore
Doc: si è chius.....
io: ok ok ho capito <riavvio il programma che mi restituisce un bel errore di mancata connessione al server e dopo aver atteso che l'utonto prema ok arresta il programma> ecco questo mi serviva
Doc: a ma io quei cosi mica li leggo bisognerebbe trovare un altro modo per avvisare che c'è un errore
IO: Si con una martellata nelle zone basse degli utenti <mormorando>
Per la cronaca c'era il cavo di rete staccato.
buon lunedi
-- Sabriel
By Ammammata posted 22/11/2010 09:41
quote: Il "coso" e' disponibile in un bazilliardo di versioni diverse, apparentemente ne viene rilasciata una nuova per ogni giorno della settimana a parte la domenica quando ne rilasciano due.
un po' come la vignetta grande a colori della domenica invece della striscia in bianco e nero quotidiana
By Rjky posted 22/11/2010 09:54
Ma tutti tu??? Ma come fai? Ti sei abbonato??? Una maledizione?
-- Rjky
By Messer franz posted 22/11/2010 10:22
Dopo tutte queste storie mi sorge il dubbio che il php non ti piaccia molto....ma dovresti vedere il lato positivo:non è microsoft!
-- Messer franz
By WM posted 22/11/2010 10:28
buongiorno davide
una domanda: ma il gatto cosa centra???
WM
-- WM
By Marco Colombo posted 22/11/2010 10:37
display_errors = On
in php.ini
Scherzo, ovviamente. Discorsi già fatti... la maggioranza delle porcate è scritta in PHP o Java, e il motivo è che sono spesso il primo linguaggio che tizio impara. La radice del problema è che nella maggioranza dei casi, rimane l'unico. Non si diventa programmatori leggendosi un paio di guide online sul PHP e nemmeno per aver studiato Java a scuola.
La domanda è semmai: se il CMS di turno fa così schifo, perché c'è chi lo usa, e soprattutto, come fanno?
-- .TM.
By Kent Morwath posted 22/11/2010 12:29
Dalla tue parti devono avere uno strano istinto - o gusto - per scovare le peggiori applicazioni in PHP. Perché quelle che usiamo noi tanto male non sono, e il loro maledetto lavoro lo fanno senza problemi. Non è che lì usano solo quelle che hanno un sito in Olandese?
-- Kent Morwath
By FDG posted 22/11/2010 12:36
Roba da vandalizzargli il codice del RincoCSM.
-- FDG
By Anonymous coward posted 22/11/2010 12:48
forse ti è già stato fatto notare, ma se queste persone fossero incappate in ruby e quindi molto probabilmente avessero usato Ruby on Rails avresti smadonnato alla stessa maniera (se non di piu', dato che ho visto di quelle cose pazzesche fatte in RoR, poi ci si domanda perche' twitter mostra una che ho visto di quelle cose pazzesche fatte in RoR, poi ci si domanda perchè twitter mostra una balena ogni due per tre)
-- Anonymous coward
By Mg posted 22/11/2010 14:23
Ma come cavolo fanno ad AGGIORNARLO così velocemente?!
Comunque, povero micio, che ti ha fatto di male?
-- Mg
By Anonymous coward posted 22/11/2010 14:41
ahahahahhahahaAHAHAHAHaahahhahahaha fantastica questa XDDDDDD
(povero micio é_è)
-- Anonymous coward
By giacomo posted 22/11/2010 14:44
Fammi capire una cosa: come mai se odi tanto Php sul tuo server web lo utilizzi? http://uptime.netcraft.com/up/graph?site=http%3A%2F%2Fwww.soft-land.org%2F
-- giacomo
@ giacomo By dotnette posted 22/11/2010 15:43
Perchè gli serve per Gallery...
Fammi capire una cosa: come mai se odi tanto Php sul tuo server web lo utilizzi? http://uptime.netcraft.com/up/graph?site=http%3A%2F%2Fwww.soft-land.org%2F
-- dotnette
By Anonymous coward posted 22/11/2010 17:20
A giudicare dal tono delle storie, la tua pazienza si sta esaurendo decisamente in fretta....
-- Anonymous coward
By FDG posted 22/11/2010 17:31
@Di Sabriel
Tipico commento dell'utente che usa il mio software quando ha qualche problema: "non funziona". A volte la lamentela si tramuta in un "è lento". A chiedere spiegazioni si perde solo tempo. Tipo, la risposta a "è tutto lento o solo una specifica schermata?" è ovvimante "è lento". Poi magari si scopre che stanno chiedendo informazioni su n-mila-miliardi di record oppure hanno la connessione interdet che va a criceti che spostano i pacchetti. Riportare i messaggi d'errore o le informazioni importanti tipo la chiave primaria del record a cui accedono? Manco se gli spari. E' così che alla fine abbiamo deciso di rinunciare ai messaggi d'errore. Si, perché se la webapp gira su un server e questa genera un'eccezione, possiamo pure permetterci di far partire in automatico una segnalazione dell'eccezione. E all'utente basta un semplice messaggio: "Sei un cretino!". 90% dei casi è un'affermazione corretta!
-- FDG
By Etucapio posted 22/11/2010 23:07
Dopo un pò diventa antipatico leggere foxxtuto da tutte le parti.
Fanne un uso piu' moderato.
-- Etucapio
By keeper posted 23/11/2010 10:35
A questo punto sei moralmente tenuto a dirci il nome di questo C(esso)MS
By Anonymous coward posted 24/11/2010 00:21
Drupal funziona dannatamente bene per essere scritto in php...
-- Anonymous coward
@ Anonymous coward By Anonymous coward posted 24/11/2010 14:11
Drupal funziona dannatamente bene per essere scritto in php...
drupal è una porcata pazzesca, e lo dico nonostante abbia pure sviluppato moduli per il loro repository ufficiale...
è uno dei migliori esempi di spaghetti code che abbia mai visto, oltre che di reinventing the square wheel.
ciao
-- Anonymous coward
@ Anonymous coward By Dotnette posted 25/11/2010 11:07
Il problema di drupal è che è sviluppato da troppe persone ed è diventato molto grosso. Funziona alla grande quando devi farci qualcosa con i moduli già esistenti, ma sono guai quando ti devi scrivere i tuoi moduli. E' incredibilmente macchinoso, indipendentemente dal linguaggio. Ho letto che con i CMS commerciali è uguale se non peggio (parlano molto male di WebSphere di IBM). Secondo me il problema è che per ogni programmatore qualunque codice che non sia il suò è spaghetti code (vedi quanto detto da Joel Spolski). Questo perchè è più facile scrivere il codice che leggerlo (e capirlo), perchè ogni programmatore ha la sua forma mentis e le sue idee sulla programmazione.
drupal è una porcata pazzesca, e lo dico nonostante abbia pure sviluppato moduli per il loro repository ufficiale...
è uno dei migliori esempi di spaghetti code che abbia mai visto, oltre che di reinventing the square wheel.
ciao
-- Dotnette
By St0rM posted 24/11/2010 03:55
Non capisco questa selvaggia ed inutile violenza contro il gatto, quando hai a disposizione un intero pool di pseudo-sviluppatori.
-- St0rM
By goldfisch posted 24/11/2010 19:27
Cose pessime fatte in Ruby On Rails?
Sì, ce ne sono a pacchi.
Ma cosa succede quando qualcuno scopre la nuopva buzzword (RoR) ma non ha voglia di imparare Ruby e preferisce usare un coso in pre-pre-alpha che ne replica malamente la funzionalità su PHP?
http://cakephp.org/
Questa roba mi ha quasi portato al suicidio circa tre anni fa.
Non so come sia adesso, ma all'epoca era un orrore indicibile.
-- goldfisch
@ goldfisch By Dotnette posted 25/11/2010 11:01
Nel 2007? Anche io avevo sviluppato un portale in CakePHP, per fortuna non ci sono rimasto secco. In realtà CakePHP, come Zend, CodeIgniter, RoR, Django(Ptyhon) e tanti altri non fanno che accumulare l'insieme di tante Buzzword: ORM, MVC, etc..
Io che ora sto programmando in ASP.NET ho messo da parte tutte le robe tipo LINQ, Entity etc... le query le scrivo tutte tramite procedure...
In un articolo su Entity si suggeriva di usare le stored procedure per cancellare i record, perchè sennò devi caricarti TUTTO il recordset in memoria (fossero anche 100000 record) e poi cancellare i record in questione. In un altro libro su asp.net si suggeriva di controllare sempre le query che vengono generate da LINQ per assicurarsi che siano ottimizzate. Scrivere direttamente le query a mano no?
Ma cosa succede quando qualcuno scopre la nuopva buzzword (RoR) ma non ha voglia di imparare Ruby e preferisce usare un coso in pre-pre-alpha che ne replica malamente la funzionalità su PHP?
http://cakephp.org/
-- Dotnette
@ Dotnette By goldfisch posted 03/12/2010 11:53
> Nel 2007?
Mi pare proprio di sì, se non 2006.
> In un articolo su Entity si suggeriva di usare le stored procedure per
> cancellare i record, perchè sennò devi caricarti TUTTO il recordset in
> memoria (fossero anche 100000 record) e poi cancellare i record in
> questione. In un altro libro su asp.net si suggeriva di controllare sempre
> le query che vengono generate da LINQ per assicurarsi che siano ottimizzate. > Scrivere
direttamente le query a mano no?
E' quello che farei anch'io. Anche se mi si potrebbe accusare di reinventare la ruota. D'altra parte sono 10 anni che giro con la stessa Slackware con WindowMaker sul lapdog, quindi potrebbe trattarsi di poca flessibilità mentale mia.
Sia come sia, se anche ti piace il modus operandi di quei cosi, quello che a me aveva fracassato le palle di Cake era la documentazione inesistente (e il resto dei framework simili in PHP presi in esame non è che fosse meglio, vedi l'allora in beta Prado 3).
Ora, non me ne voglia BigD, ma a volte mi fermo a chiedermi se in realtà nell'intero meccanismo non ci sia una sorta di follia latente: un framework che separa dati, logica e visualizzazione per poi risputarlo all'utente finale (a cui fondamentalmente spesso interessa solo il contenuto testuale), immerso in un pachidermico HTML che, ironicamente, viene poi processato per tagliare via il solo contenuto, vedi la modalità Reader di Safari o quella roba che fa la stessa cosa nei gadget di 7?
Da un certo punto di vista il modo logico ed efficiente di fare una cosa simile non sarebbe farla al contrario, facilitando così anche la manipolazione e conservazione locale dei dati, trasmettendo il contenuto da solo e lasciando la presentazione in cima alla pila alla lista, lato utente, diciamo una specie di Gopher [che non ho mai usato] skinnabile?
-- goldfisch
By Cymon posted 24/11/2010 19:51
Retrocompatibilità è una parola che i programmatori moderni sembrano non conoscere ed è quello di cui, in casi del genere, ci sarebbe bisogno. Se i morbidi molluschi PHPicosi dovessero rispettarla col caxxo che rilascerebbero una versione alla settimana, rendendo tutti i fruitori del loro codice decisamente più felici.
Non sono poi d'accordo con chi dice che PHP è pieno di programmatori idioti perché è molto diffuso e per JAVA è lo stesso. Secondo me nel mondo JAVA girano molte meno scimmie urlatrici (ce n'è, ma molte meno) non fosse altro che programmare JAVA è scomodo (JAVA ti odia e tu lo sai) mentre mettere in piedi pagine PHP è sempre più agile.
-- Cymon
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.