Passa al contenuto principale

2024-08-03

Abbiamo esaurito le colonne

  • Il libro di Jimmy Miller "We ran out of columns" descrive il suo primo lavoro nel settore del software, caratterizzato da un codice caotico ma affascinante, mettendo in evidenza una tabella del database chiamata Merchants che esaurì le colonne, portando alla creazione di Merchants2.
  • Il codice era un mix di VB, C#, vari framework JavaScript e numerosi servizi SOAP, con problemi notevoli come uno sviluppatore che non effettuava il check-in del codice, causando bug difficili da tracciare.
  • Nonostante la confusione, la base di codice permetteva di risolvere i problemi in modo creativo, con gli sviluppatori che trovavano soluzioni proprie, portando a un sistema disaccoppiato e a una connessione unica e diretta con gli utenti.

Reazioni

  • Uno sviluppatore ha condiviso la sua esperienza con una base di codice disorganizzata nella sua prima azienda, che mancava di controllo delle versioni e aveva numerose variabili globali.
  • Bugs sono stati risolti installando Visual Studio sui siti dei clienti ed eseguendo l'app in modalità debug, portando a versioni multiple e con nomi incoerenti memorizzate su un disco condiviso.
  • Alla fine, lo sviluppatore ha introdotto pratiche moderne come git, Linux e Continuous Integration (CI) per i nuovi progetti, ma il vecchio progetto è rimasto invariato, evidenziando le sfide nel migliorare le codebase disfunzionali.

p5.js

  • La libreria p5.js offre una gamma di esempi e schizzi della comunità per aiutare gli utenti a imparare ed esplorare le sue capacità.
  • Progetti notevoli includono Geodata Weaving, Slime Molds, Generative Succulents, Padrão Geométrico, Zen Pots e Glitch animation, che mostrano la versatilità della libreria.
  • Gli utenti possono supportare la libreria p5.js attraverso donazioni o scaricandola per il proprio utilizzo.

Reazioni

  • p5.js ha ricevuto una sovvenzione di 450.000 € dal Sovereign Tech Fund nel 2023 per migliorare la sua documentazione e accessibilità, portando a un nuovo sito web facile da usare.
  • Gli utenti apprezzano p5.js per la sua natura adatta ai principianti, ma notano limitazioni di prestazioni rispetto a librerie come d3 o three.js.
  • Il nuovo sito web è stato accolto positivamente, anche se alcuni utenti sentono la mancanza di riferimenti alle origini di p5.js dal progetto Processing, che ha affrontato critiche riguardo all'allocazione del budget.

Tauri 2.0 Release Candidate

  • Tauri 2.0 Release Candidate è stato annunciato, con una versione stabile prevista entro la fine di agosto, concentrandosi sulla finalizzazione della documentazione e sulla correzione di bug critici.
  • Tauri 2.0 introduce un supporto fondamentale per lo sviluppo mobile, anche se non raggiunge ancora la parità di funzionalità con il desktop, e include modifiche significative come uno spazio dei nomi fisso per i plugin core e una ristrutturazione dell'API Rust.
  • Un audit di sicurezza esterno è stato completato con tutte le problematiche risolte, e il rapporto completo sarà pubblicato a breve; la comunità è incoraggiata a contribuire alla documentazione e alla risoluzione dei problemi.

Reazioni

  • Tauri 2.0 Release Candidate è stato annunciato, suscitando discussioni significative tra gli utenti riguardo alle sue caratteristiche e ai potenziali miglioramenti.
  • Tauri è un framework per creare binari piccoli e veloci per le principali piattaforme utilizzando framework frontend che compilano in HTML, JavaScript e CSS, con logica backend in linguaggi come Rust, Swift e Kotlin.
  • Gli utenti hanno confrontato Tauri con Electron, notando il minore ingombro di Tauri e la sua integrazione nativa, discutendo anche del suo focus sulla sicurezza, dell'interfaccia utente multipiattaforma e delle sfide come i problemi dei componenti web su Linux e la necessità di una documentazione migliore.

Il futuro di kdb+?

  • kdb+ è una tecnologia potente per l'archiviazione e l'analisi dei dati storici di mercato, ma alternative come Clickhouse, QuestDB, Bigquery e Redshift sono ora competitive in termini di velocità.
  • Per l'analisi quantitativa locale, Python con DuckDB, Polars o PyKX è preferito per la sua accessibilità e convenienza economica.
  • Le capacità di streaming in tempo reale e di calcolo distribuito di kdb+ sono sottoutilizzate, mentre tecnologie come Kafka e Flink stanno guadagnando maggiore popolarità.

Reazioni

  • Il dibattito si concentra sul futuro di kdb+, un database ad alte prestazioni per serie temporali, e sui suoi potenziali successori.
  • Alternative come TimeScale (un'estensione di PostgreSQL), DuckDB e ClickHouse sono evidenziate per le loro prestazioni e convenienza economica.
  • Il carattere proprietario e i costi elevati di kdb+ sono principali svantaggi, spingendo alcuni a considerare soluzioni open-source come Python con DuckDB e Polars per l'analisi delle serie temporali.

Hanon Pro – tecnica pianistica ed esercizi per l'era digitale

  • Hanon Pro è un'app moderna per la pratica del pianoforte per iPhone, iPad e Mac, che offre funzionalità come il monitoraggio dei progressi, il feedback e la costruzione di abitudini di pratica.
  • Le funzionalità avanzate includono l'analisi delle prestazioni, il cambio automatico delle pagine e le caratteristiche interattive quando connesso a una tastiera MIDI tramite Bluetooth o USB.
  • Questa app supporta la sincronizzazione con iCloud, promemoria per la pratica quotidiana e obiettivi, ed è sviluppata con SwiftUI e Core MIDI, compatibile con iOS 17.

Reazioni

  • Hanon Pro è un'app di tecnica pianistica che offre esercizi e feedback, progettata per l'era digitale.
  • Gli utenti hanno segnalato crash dell'app con i controller MIDI ed espresso il desiderio di riproduzione MIDI e opzioni di pratica più flessibili.
  • Per utilizzare l'app è necessario iOS 17 o versioni successive, causando frustrazione tra gli utenti con dispositivi più vecchi. Tra i suggerimenti per migliorare l'app vi sono una migliore compatibilità con i dispositivi e l'aggiunta di funzionalità come il tracciamento dei progressi e il caricamento personalizzato dei punteggi.

Lisp con GC in 436 byte

  • SectorLISP ora include la raccolta dei rifiuti, adattando un linguaggio di programmazione di alto livello con raccolta dei rifiuti nel settore di avvio da 512 byte di un dischetto, utilizzando solo 436 byte.
  • Questo rende LISP il linguaggio di programmazione più piccolo, superando FORTH e BASIC, ed è compatibile con tutti i modelli di PC dal 1981 con almeno 64kb di RAM.
  • Il progetto mostra un'ottimizzazione significativa, riducendo l'implementazione in assembly i8086 di altri cento byte, e include un garbage collector di 40 byte, con binari e codice sorgente disponibili su GitHub.

Reazioni

  • Un interprete Lisp con garbage collection (GC) è stato implementato in soli 436 byte, dimostrando un'impressionante impresa di minimalismo nella programmazione.
  • Il progetto, ospitato su justine.lol, ha attirato notevole attenzione e ammirazione per il suo design compatto ed efficiente, facendo riferimento a lavori precedenti e offrendo approfondimenti educativi.
  • Le discussioni evidenziano l'equilibrio tra la creazione di un interprete minimalista e il mantenimento della funzionalità di un Lisp "reale", suscitando dibattiti sulla natura dei linguaggi di programmazione come Brainfuck e le loro applicazioni pratiche.

Ho creato una versione estesa di Vimtutor – Presentazione di Vimtutor Sequel

  • "Vimtutor Sequel" offre lezioni avanzate di Vim, inclusi comandi, tecniche, tutorial passo-passo ed esercizi interattivi.
  • È possibile effettuare l'installazione tramite Homebrew o clonando il repository da GitHub, con istruzioni dettagliate fornite per entrambi i metodi.
  • Lo strumento è concesso in licenza sotto la licenza MIT, e i contributi sono benvenuti secondo le linee guida in CONTRIBUTING.md.

Reazioni

  • Vimtutor Sequel è una versione estesa dell'originale Vimtutor, rivolta agli utenti che conoscono i comandi di base di Vim e desiderano apprendere funzionalità avanzate.
  • Le caratteristiche principali includono tutorial su divisioni, controllo ortografico, ricerca e sostituzione avanzata, macro, scripting Vim, plugin, sessioni e registri, insieme a una configurazione personalizzata di vimrc per un'esperienza di apprendimento coerente.
  • Le istruzioni di installazione sono fornite per Mac, Windows e Linux, e il creatore sta cercando feedback e contributi tramite il repository GitHub.

1991 Implementazione WWW-NeXT

  • Questo repository GitHub rispecchia l'applicazione originale WorldWideWeb di Tim Berners-Lee per NeXT, mostrando il primo prototipo di browser/editor ipertestuale.
  • Il programma consente l'accesso a server Hypertext, file e notizie, offrendo uno sguardo sulle funzionalità del web primordiale.
  • Il repository include un changelog storico, con le date dei commit retrodatate all'ultimo giorno di modifica per ogni file, preservando la timeline originale.

Reazioni

  • Il codice sorgente dell'implementazione WWW-NeXT del 1991 è stato reso disponibile su GitHub, suscitando l'interesse tra gli appassionati di tecnologia e gli archeologi digitali.
  • Questa versione mette in evidenza la natura grafica iniziale del web, in contrasto con i browser basati su testo che erano più comuni all'epoca.
  • Il progetto mette in mostra l'uso di Objective-C e NeXTStep, enfatizzando le capacità di sviluppo rapido delle applicazioni che furono cruciali per il browser/editor web originale di Tim Berners-Lee.

Ricercatori sviluppano un trattamento che può uccidere le cellule di glioblastoma nel percorso cerebrale

  • Ricercatori della McMaster University e di altre istituzioni hanno identificato un nuovo percorso cerebrale utilizzato dalle cellule di glioblastoma e sviluppato una terapia promettente per bloccare e uccidere questi tumori.
  • Lo studio, pubblicato su Nature Medicine il 2 agosto 2024, dimostra che mirare a questo percorso con cellule CAR T e un farmaco migliora significativamente la sopravvivenza nei modelli preclinici.
  • La terapia, concentrandosi sulla proteina ROBO1, ha raddoppiato il tempo di sopravvivenza in tre modelli di cancro ed ha eradicato i tumori nel 50% dei casi per due delle malattie, offrendo speranza per il glioblastoma e altri tumori cerebrali invasivi.

Reazioni

  • Ricercatori hanno sviluppato un nuovo trattamento che può uccidere le cellule di glioblastoma, un cancro al cervello altamente aggressivo con tassi di sopravvivenza storicamente bassi.
  • Il dottor Richard Scolyer, che sta trattando il proprio glioblastoma, ha mostrato risultati promettenti senza recidive per oltre un anno, evidenziando il potenziale di questo nuovo approccio.
  • Il dibattito sottolinea la complessità e le sfide nel trattamento del cancro, notando che, sebbene l'immunoterapia sia efficace per alcuni tipi di cancro, non funziona per tutti i tumori, e trattamenti alternativi come la terapia chetogenica sono ancora oggetto di discussione.

Compiti comuni di I/O nel Java moderno

  • Il articolo di Cay Horstmann discute i compiti comuni di I/O in Java, in particolare per le applicazioni web, come la lettura/scrittura di file di testo, la gestione di JSON e il lavoro con i file ZIP.
  • Metta in evidenza i miglioramenti delle API a partire da Java 8, inclusa la codifica UTF-8 come impostazione predefinita da Java 18 e i miglioramenti alle classi java.nio.file.Files e java.io.InputStream.
  • Il articolo fornisce esempi di codice pratici per leggere e scrivere file di testo, gestire flussi di input e lavorare con directory e file ZIP, enfatizzando l'uso dei metodi moderni Files rispetto alla classe File legacy.

Reazioni

  • Le discussioni si concentrano sulle stranezze e i problemi delle classi URL e URI di Java, in particolare riguardo ai controlli di uguaglianza e alla risoluzione DNS.
  • Evidenzia l'evoluzione dell'I/O di Java da java.io.File a java.nio.file.Path, sottolineando l'I/O non bloccante e una migliore astrazione.
  • Menziona consigli pratici e insidie comuni nell'uso delle API di I/O di Java, come la gestione delle eccezioni nei flussi e l'uso di var.

Giudici sospendono la regola di ripristino della neutralità della rete della FCC

Reazioni

  • Un giudice ha sospeso la regola di ripristino della neutralità della rete della FCC, intensificando i conflitti legali riguardanti la neutralità della rete.
  • Questa sospensione segue una decisione della Corte Suprema che ha ridotto il potere regolamentare federale, portando a un ambiente normativo volatile.
  • Critici sostengono che l'instabilità avvantaggia le aziende consolidate e complica le operazioni per i nuovi entranti nel mercato, suggerendo che il Congresso dovrebbe affrontare questi problemi invece dei tribunali.

Ascensore spaziale a levitazione magnetica per l'orbita terrestre bassa (2001) [pdf]

Reazioni

  • Hacker News users are discussing a 2001 paper on magnetically levitated space elevators to low-earth orbit, reminiscing about similar concepts in Popular Science.
  • Il dibattito copre sfide tecniche, tra cui la necessità di materiali avanzati come i nanotubi di carbonio e i superconduttori ad alta temperatura, e i rischi di una fune rotta.
  • Alternative come i cannoni elettromagnetici e i lanciatori a fionda sono suggerite, con discussioni sulla fattibilità economica e praticità degli ascensori spaziali, insieme ai progressi nei materiali superconduttori.

Un anno di divieto di notizie di Meta in Canada

  • Il divieto di notizie di Meta in Canada, in risposta al disegno di legge C-18, ha portato a un calo dell'85% dell'interazione per le testate giornalistiche canadesi su Facebook e Instagram, con una diminuzione complessiva del 43% dell'interazione.
  • Circa il 30% dei mezzi di informazione locali è diventato inattivo sui social media, e solo il 22% dei canadesi è a conoscenza del divieto.
  • Nonostante il divieto, il 36% degli utenti continua a incontrare contenuti di notizie tramite soluzioni alternative, ma i canadesi vedono 11 milioni di visualizzazioni di notizie in meno al giorno su queste piattaforme, consumando meno notizie in generale e attraverso una lente più distorta.

Reazioni

  • Il divieto di notizie di Meta in Canada, influenzato dai lobbisti dei giornali e dai politici, impone alle piattaforme di pagare per i contenuti delle notizie, portando Meta a bloccare i link delle notizie.
  • Critici sostengono che il divieto danneggia le organizzazioni di notizie rimuovendo utili link gratuiti sui social media, nonostante i contenuti delle notizie appaiano ancora attraverso soluzioni alternative come gli screenshot.
  • Il dibattito in corso mette in discussione se Meta debba pagare per i contenuti delle notizie, con preoccupazioni riguardo alla riduzione del consumo di notizie, all'aumento delle informazioni faziose e all'impatto sui ricavi e sulla sopravvivenza delle organizzazioni giornalistiche.

Verso l'userspaceification di POSIX – parte I: gestione dei segnali e IO

  • Redox OS ha ricevuto una sovvenzione NGI Zero per implementare la gestione dei segnali POSIX e la gestione dei processi nello spazio utente, consentendo un anno di attenzione sugli miglioramenti del kernel e dei componenti.
  • Le migliorie nel formato del pacchetto dello schema e le nuove syscall (SYS_PREAD2 e SYS_PWRITE2) hanno aumentato le prestazioni di copia di RedoxFS del 63%, simili all'efficienza di io_uring.
  • Il progetto mira a spostare più logica POSIX nello userspace, con miglioramenti nella gestione dei segnali e piani futuri per sviluppare un gestore di processi nello userspace e ulteriori miglioramenti del kernel.

Reazioni

  • POSIX consente ai descrittori di file (FD) di essere condivisi da più processi, il che è essenziale per i sistemi simili a Unix e per la sicurezza orientata alle capacità, ma questa condivisione può essere spostata nello spazio utente.
  • Il cursore globale nei file descriptor (FD) complica l'accesso concorrente, richiedendo la sincronizzazione, e mentre l'API std::fs::File di Rust affronta questo problema con requisiti di mutabilità, altri linguaggi possono incontrare bug o necessitare di API complesse.
  • Le applicazioni moderne e la programmazione di sistemi stanno evolvendo per bilanciare il design storico di POSIX con la necessità di interfacce più modulari e sicure, utilizzando strumenti come D-Bus e i namespace plan9 di Linux per una migliore isolamento e sicurezza.

Funzioni Ricorsive Primitive per un Programmatore Operativo

  • Il articolo sottolinea l'importanza di comprendere la completezza di Turing e le funzioni ricorsive primitive, spesso trascurate nell'educazione informatica.
  • Mettere in evidenza che molti problemi pratici possono essere implementati in linguaggi non Turing-completi, i quali offrono vantaggi come il determinismo e la sicurezza.
  • Il dibattito include le differenze tra Macchine a Stati Finiti, Macchine di Turing e Funzioni Ricorsive Primitive, notando che le PRF terminano sempre e possono calcolare molte funzioni pratiche.

Reazioni

  • Il articolo esplora le funzioni ricorsive primitive e la loro importanza nel garantire la terminazione del codice, allineandosi con i principi della programmazione strutturata.
  • Discute i limiti della completezza di Turing e i vantaggi di linguaggi come CUE e Dhall che possono garantire la terminazione.
  • Il discorso affronta le sfide pratiche della dimostrazione della terminazione delle funzioni e le implicazioni per i linguaggi di configurazione, bilanciando potenza computazionale e sicurezza.