Una delle cose che apprezzo delle vecchie macchine è la semplicità e l’essenzialità. Mi piaceva SMF perché dava l’impressione di essere leggero e veloce anche su un vecchio PC (o su una macchina moderna con le impostazioni di massimo risparmio energetico).
Navigando sul nuovo forum ho notato un aumento dell’uso della CPU e del calore emesso dalla macchina. Per capire se si trattasse di una coincidenza, ho controllato un paio di cose.
uMatrix segnala che il nuovo forum vuole caricare contenuti da stripe.com. Avete intenzione di inserire contenuti a pagamento? Immagino di no. In tal caso, magari potreste verificare se ci sono dei moduli inutili attivati? Questo potrebbe avere un impatto, seppur minimo, anche sul carico del server e sui costi di gestione.
Sia il sistema che Firefox (about:processes) segnalano un consumo continuo di CPU legato alle schede in cui è aperto il nuovo forum. Aprendo gli strumenti per sviluppatori viene mostrato un timer e del testo che menziona il tracciamento del tempo che gli utenti trascorrono a navigare.
È una funzionalità che avete attivato volontariamente? Non mi entusiasma l’idea di un forum per appassionati di retrogaming/retrocomputing che consuma CPU in continuazione e fa chiamate a stripe.com. Grandi parti di Internet stanno diventando spazzatura (enshitified) e capisco che adottare nuovi strumenti comporti nuovi costi. Vi sarei grato se poteste disattivare tutto questo.
Stripe è in esecuzione inutilmente e senza trasmettere davvero nulla (soprattutto perché non ho un account Stripe ) a causa della funzionalità degli abbonamenti. Purtroppo gli abbonamenti su Discourse sono legati a Stripe. E, anche se ho intenzione di usare la funzione Abbonamenti, non sarà legata a Stripe. Purtroppo Stripe non si può disabilitare senza disabilitare del tutto gli Abbonamenti, ma devo ancora pensare a come implementarla. Dopotutto è ancora un lavoro in corso (WIP).
Per quanto riguarda la funzione di tracciamento… Davvero? Ti dà fastidio che il forum tracci quanto tempo ci passi sopra, come fa praticamente qualsiasi altro sito in circolazione? Non è che venga usato per le pubblicità o per il data mining e la vendita di dati o cose del genere.
Edit: oh, inoltre i timer/tracker servono per decidere se inviare notifiche via email o notifiche in tempo reale in alcuni casi. Servono anche a calcolare se qualcuno ha effettivamente letto un post o ci ha solo dato un’occhiata rapida per assegnare i livelli di fiducia (trust levels), ricordare la posizione di scorrimento e calcolare i tempi di lettura degli argomenti.
(A proposito, ho usato questa funzione per scovare ed eliminare i bot)
Non c’è niente da fare per il maggior consumo di risorse: c’è da aspettarselo quando si passa da una piattaforma antiquata a una nuova. Ma devo dire che gira davvero bene sul mio vecchio portatile secondario.
Detto questo, sono osservazioni condivisibili e ti ringrazio per il feedback. Ma definirle «antifeature malvagie» mi sembra un po’ troppo
P.S. Mi piacerebbe davvero tanto sentire cos’altro ne pensi.
Capisco la necessità di un pizzico di paranoia al giorno d’oggi, con tutte queste aziende che sono losche da far schifo, ma non penso ci sia da preoccuparsi più di tanto.
Nello specifico di questo caso, SMF ha funzionalità di tracciamento simili, quindi se non è stato un problema per tutti gli anni del vecchio forum, perché dovrebbe esserlo all’improvviso adesso che stiamo usando un nuovo software?
Sebbene SMF fosse ottimo dal punto di vista delle prestazioni, non era resiliente. Andava giù in continuazione.
Il nuovo forum sembra avere un paio di funzioni che secondo me sono un po’ inutili (a che servono gli achievement in un forum?), ma preferisco questo piuttosto che non avere alcun forum.
Anche secondo me gli achievement e la gamification sono un po’ una sciocchezza, ma sono legati a elementi come i livelli di fiducia, quindi non saprei bene come gestirli. Personalmente li ignoro.
Per quanto riguarda le prestazioni, SMF era tutt’altro che veloce. Quindi preferisci un sistema che impiega due secondi (o più) per generare una pagina che poi si carica all’istante (non sempre, perché le chiamate continuavano anche dopo), oppure una piattaforma che affatica di più il client (è una single-page app in Ember.js), ma ti dà tutto senza un minimo rallentamento?
(E non parliamo della manutenzione richiesta dalla sua «semplicità». Bisogna tenere conto anche dei tempi di inattività. Ad esempio, il motivo per cui siamo riusciti a fare a meno di Cloudflare per la maggior parte degli utenti è proprio grazie alle funzioni anti-crawler integrate in Discourse. Preferisci che il tuo forum vada giù perché Alibaba ha deciso di mandarlo in tilt, o che consumi un po’ più di CPU ma rimanga sempre attivo e funzionante?)
Per prima cosa, mille grazie per la tua risposta dettagliata. I dettagli dimostrano che hai una conoscenza reale e una gran padronanza degli argomenti. Quindi, a maggior ragione, tanto di cappello.
Amico
L’ambiguità del linguaggio scritto… Siamo rimasti tutti tranquilli per tutto il tempo, non preoccuparti.
Stripe si avvia, …
Ho visto che nel frattempo hai trovato un modo per rimuovere qualsiasi chiamata al dominio di Stripe, ottimo!
Come ho detto nel primo post, ero infastidito dall’aumento del consumo di CPU.
Jeff Atwood ha creato Discourse. Proprio come per la rete di StackExchange (StackOverflow ecc.) che ha creato lui stesso, si è assicurato che fossero completamente navigabili anche senza Javascript.
Eppure Discourse sembra “meno minimale” e consuma più risorse. E, a differenza di StackExchange e SMF, ha un aspetto completamente diverso quando Javascript è del tutto disattivato.
Ah, quei maledetti bot fastidiosi.
Grazie mille per la spiegazione.
Hai la mia fiducia e immagino quella di tutta la community.
È così da decenni. Le piattaforme crescono e diventano più lente. A un certo punto, qualcuno giudica questa lentezza eccessiva e scrive da zero qualcosa di più veloce, che dà il via a una nuova iterazione.
Ho risposto qui sopra su tuo invito, e proseguirò qui sotto.
Ho ancora un modello mentale legato al web originale, che serve principalmente documenti. I programmi (Javascript) sono del tutto opzionali, nel senso che qualsiasi cosa possa funzionare senza codice funziona effettivamente senza un runtime Javascript nel client.
Purtroppo, alla maggior parte degli sviluppatori web non importa affatto e tendono semplicemente a dare per scontato che la CPU e la banda siano illimitate, che il browser dell’utente e quello dello sviluppatore siano identici, che tutto il web sia disponibile al 100% e che le chiamate a domini di terze parti siano gratuite e naturali. Perché? Perché richiede meno sforzo rispetto al pensare alla varietà dal lato utente. La dura verità è che più cose dipendono da terzi, più roba si rompe quando qualcosa in un altro continente va giù. E dato che i guasti sono rari, queste soluzioni fragili e pesanti vengono accettate e diventano la norma.
Mi piace il mondo CPC in cui un byte o un ciclo di CPU è qualcosa a cui si tiene, non un’unità trascurabile di diversi ordini di grandezza.
Ad ogni modo, in ordine di importanza:
la community CPC ha di nuovo online il suo sito web principale (a mio parere)! Potrò leggere gli altri, fare domande, menzionare i miei lavori in corso, ecc.
meriti un riconoscimento
questa è un’ottima notizia
Discourse permette di scrivere post in Markdown invece che nel fondamentale ed errato Wysiwyg
Soffro di limitazioni come il numero di link o citazioni in una singola risposta, che mi costringono a tagliare parti di questo messaggio.
Risposta lunga in arrivo per accompagnare il tuo caffè del mattino — e quello di tutti gli altri.
Per iniziare: voglio che tu, e ogni altro utente qui, sia felice del risultato e della community. È tutto perfetto? Diavolo, no. Ma quest’estate abbiamo passato una quantità assurda di tempo a pianificare e implementare il ritorno di CPCWiki. Voglio dire, pensa a stare a bere un drink a bordo piscina e, invece di flirtare con le ragazze al tavolo accanto, buttare giù l’architettura del server e i nodi di backup (storia vera). In pratica ho passato gran parte del mio compleanno a implementare cpcjs qui
Beh. Come ho già detto in passato, non sono un professionista dell’IT né niente del genere. Lavoro nel marketing. Quando ho deciso di fondare CPCWiki (prima come wiki, il forum è arrivato dopo) ne sapevo davvero poco. È stato proprio questo progetto che, nel corso degli anni, mi ha insegnato MOLTO di quello che so oggi e, senza ironia, mi ha aiutato anche nel mio lavoro professionale. Non credo di sapere molto, ma quanto meno mi trovo da qualche parte all’inizio della «Rampa dell’Illuminazione» (Slope of Enlightenment) sulla curva di Dunning-Kruger, il che mi rende cauto e mi costringe a imparare le cose prima di agire.
Ho un debole nel cuore per SMF. Dopotutto, l’ho coccolato per vent’anni. Ma è una soluzione arcaica.
Un esempio pratico: SMF è, in sostanza: «ecco un mucchio di file PHP, fanno cose insieme, sentiti libero di incasinare tutto». E infatti, se incasini qualcosa e non hai un backup a cui tornare, la soluzione ufficiale è sovrascrivere i vecchi file con il pacchetto di installazione e annullare le modifiche, perdendo praticamente tutto ciò su cui hai lavorato. Ed è così anche per la procedura di aggiornamento, motivo per cui a ogni grande update perdevamo tutte le personalizzazioni e dovevo lavorare per giorni su qualcosa che avrebbe dovuto richiedere pochi minuti.
Immagino che ci stiano pensando con la versione 3, che potrebbe arrivare entro il 2030… oppure no.
Discourse, d’altra parte, dice: «ecco, compila questo app.yml, poi mettiti comodo o fai una lunga passeggiata mentre noi scarichiamo, configuriamo e installiamo un intero stack compose. Puoi darci un’occhiata, ma fidati, non vuoi farlo».
Quindi SMF è decisamente più aperto e funziona bene da subito, ma si rompe molto facilmente (e alcune scelte di design sono discutibili). Discourse è molto opaco da quel punto di vista, ma espone alcuni punti di ingresso che ti permettono di fare cose senza spaccare tutto.
No, non c’era modo, ho disabilitato del tutto gli abbonamenti. Almeno finché non capisco come implementarli.
Beh. Ma Atwood (e l’altro tipo, come si chiama) pensavano chiaramente che le pagine statiche fossero roba degli anni '90, ed è per questo che è andato nella direzione opposta con Discourse. Certo, un’installazione di SMF si vedrà bene anche su un PC del 2005, ma questo non significa molto se si tiene conto delle funzionalità. Per dire, ho iniziato questo commento dal mio portatile e lo sto continuando dal telefono — e più tardi tornerò al portatile. Oh, e mi sembra di ricordare che all’epoca la gente si lamentasse anche di ASP.NET MVC
Molto apprezzato. Ci tengo a ribadire che i dati non lasciano mai il server (vabbè, certo, Discourse fa dei ping qua e là e GA gira in background, ma non è che io ci faccia altro con quei dati). In realtà mi sento quasi incompreso sul fatto che nessuno mi abbia ancora contattato per comprare il dataset
Detto benissimo. Però sento davvero che Discourse sia abbastanza leggero. Ho due schede aperte in questo momento e, con la CPU del mio portatile (di nuovo) bloccata in modalità risparmio energetico, Vivaldi mi dice che usa esattamente lo 0% di CPU e circa 350MB. Più che accettabile, direi. Ok, la CPU è un Core Ultra 7 255HX, quindi anche a 2.4GHz è abbastanza potente, ma…
Eh sì, la chiave sta in «tutto ciò che può funzionare».
Non che io sia in disaccordo con te, onestamente, ma potremmo far girare tutto su una BBS ASCII e vedere quanta gente la userebbe
Questo ha a che fare con i livelli di fiducia (Trust Level). Ho alzato un po’ i limiti per i nuovi utenti, ma penso che andassero bene anche prima, tranne che in casi rari:
Inoltre, il limite delle citazioni è una variabile globale — una scelta di design per evitare il caos di risposte annidate. L’ho alzato da 5 a 10 (perché ci sono cascato anch’io qui )
Ad ogni modo, discussione davvero interessante. Grazie per le tue belle parole
Mi piaceva SMF perché mi sembrava leggero e veloce persino su un vecchio PC (o su un computer moderno con le impostazioni di risparmio energetico al massimo).
Dopo un po’ di esperienza con la vera novità (rullo di tamburi) … ora mi piace Discourse!
'Un’esperienza eccellente su mobile. Veloce e tutto il resto.
Un evviva per @Gryzor !
È da un bel po’ che tengo d’occhio Discourse, ma ovviamente la migrazione era/è da difficile a impossibile. Sono contento di sentire che alla gente sta piacendo!
Ora che le API sono disponibili, potrebbe essere possibile importare i thread dal vecchio forum utilizzando un agente IA. Ma ad essere sincero, non sono sicuro di quanto ne valga la pena. Comunque, immagino che tu non voglia continuare a gestire due forum diversi e mi dispiacerebbe davvero se il vecchio materiale andasse perduto. Tutto quel bagaglio di conoscenze presente nei vecchi forum… È proprio così che ho imparato (e reimparato) un sacco di cose sull’Amstrad, scoprendo persino dettagli che prima non conoscevo affatto.
Quindi, il mio obiettivo principale in questo senso sarebbe proprio quello di preservare tutta questa conoscenza.
In realtà no, non sarebbe possibile; e gli utenti? I messaggi privati? Ci sono un sacco di dettagli che non sono gestibili tramite le API, perché quelle agiscono solo in superficie…
Uhm… vedo il problema e al momento non ho una buona soluzione. Ci penserò un po’ sopra.
L’idea sarebbe quella di far semplicemente leggere il vecchio forum a un agente IA (cosa che può fare già ora - nessuna API necessaria) e da lì pubblicare il contenuto sul nuovo forum. Magari solo i contenuti selezionati…
Sto solo cercando modi per preservare quella conoscenza. Se il vecchio forum sparisce, muore, ecc., queste informazioni andranno perse per sempre.
Ma ripeto: non ho ancora una valida idea su come preservarla al meglio in un archivio moderno. Lasciami riflettere e masticare un po’ la cosa.
Sì, è proprio quello che intendevo con «funziona in superficie». Sarebbe un gioco da ragazzi fare il crawling del vecchio forum in base ad alcuni criteri e creare nuovi post qui tramite un agente. Tuttavia, la prima cosa che verrebbe a mancare (e da lì le cose precipiterebbero rapidamente) è che OGNI post e discussione sarebbe a nome dello stesso utente, creando un caos totale.