Archivio per Programmazione
9 febbraio 2025 alle 15:51 · Archiviato in Cognizioni, Empatia, Segnalazioni, Tecnologia and tagged: Ansa, DNA, Programmazione
Dall’ANSA recupero questo notizia, che è formidabile per le implicazioni strutturali che evidenzia; e alla fine, viene proprio da domandarsi chi fossero quei programmatori che lo hanno realizzato (qui sotto un corposo estratto dell’articolo, che rende bene l’idea):
Il Dna è più resiliente ai cambiamenti strutturali di quanto pensassimo: tollera persino la perdita (delezione) di sequenze anche lunghe, purché vengano lasciati intatti i geni essenziali per la sopravvivenza della cellula. Lo dimostra il più grande ‘remix’ di genomi umani ottenuto finora, frutto della più complessa operazione di ingegneria genetica mai realizzata sulle linee di cellule umane coltivate in laboratorio. Il risultato, che aiuterà a capire il ruolo di queste alterazioni nell’insorgenza di tumori e malattie dello sviluppo, è pubblicato sulla rivista Science dal Wellcome Sanger Institute insieme all’Imperial College di Londra e all’Università di Harvard.
I ricercatori hanno remixato i genomi delle cellule umane in un unico grande esperimento utilizzando il prime editing, una recente tecnica di ingegneria genetica (basata sugli strumenti molecolari della Crispr) che permette di intervenire con precisione sul Dna, attuando una sorta di comando ‘trova e sostituisci’ nel libro della vita. Applicando il prime editing a varie linee cellulari utilizzate in laboratorio, hanno introdotto in ciascuna cellula oltre un centinaio di alterazioni casuali della struttura del genoma, ovvero delezioni, duplicazioni e inversioni di sequenze genetiche anche lunghe, ottenendo così migliaia di varianti strutturali dei genomi. Usando poi le tecniche di sequenziamento, sono riusciti a esaminare gli effetti di queste alterazioni, valutandone l’impatto sulla sopravvivenza delle cellule. In questo modo hanno scoperto che risultano letali solo quei cambiamenti strutturali che comportano la perdita di geni essenziali.
6 novembre 2019 alle 11:53 · Archiviato in Cognizioni, Editoria, Sociale and tagged: Brian Kernighan, Dennis Ritchie, Falso, Interrogazioni sul reale, Liberismo, Programmazione, Ridefinizioni alternative
Su Fantascienza.com la segnalazione di Milioni, Miliardi, Fantastiliardi. Come difendersi in un mondo pieno di numeri, scritto da Brian Kernighan, un nome che i professionisti dell’informatica riconosceranno senz’altro, visto che si tratta del co-autore, insieme a Dennis Ritchie, del libro Il Linguaggio C (The C Programming Language), alias il K&R, manuale fondamentale sul quale si sono formate generazioni di sviluppatori che hanno adottato il linguaggio ideato da Ritchie.
Perché questo libro è importante? Per il semplice fatto che analizza i numeri che ci vengono quotidianamente forniti a corredo di un articolo, di una notizia, di un’informazione; fornire numeri dà autorevolezza a un’opinione, ma se andiamo ad analizzare quei dati, cosa possiamo scoprire? La quarta del saggio:
L’obiettivo è di fornire un’utile guida alla comprensione dei numeri. Mai come negli ultimi anni infatti politici, media e blogger parlano di cifre e numeri esorbitanti, commettendo spesso errori o presentando i dati in maniera fuorviante. È facile per la maggior parte delle persone farsi confondere dai dati ed avere un’idea distorta della realtà.
Questa incomprensione può influenzarci nelle decisioni più importanti, tra cui chi votare, cosa comprare, etc.
Il nuovo saggio di Kernighan ci aiuta quindi ad essere meno ingenui e a guardare i dati con occhio critico grazie a numerosi esempi concreti utilizzati dallo stesso Kernighan durante le sue lezioni universitarie alla classe di informatica e computing. Il suo tono morbido e amichevole, decisamente distante da quello da professore della Ivy League, aiuta a far comprendere a tutti le sue spiegazioni.
I capitoli del saggio trattano grandi numeri, unità, dimensioni, e mettono a nudo diversi elementi, come alcuni grafici ingannevoli. Attraverso semplici ragionamenti e scorciatoie, chiunque può imparare a riconoscere gli errori comuni, determinare se i numeri sono credibili, e fare le proprie stime ragionevoli quando necessario.
Un esempio tra i tanti che Kernighan cita nel libro proviene da un articolo che recita:
Spegnere il computer e il monitor durante la notte, invece che tenerli accesi h 24, comporterà un risparmio di 88 dollari al giorno. (Newark Star-Ledger, dicembre 2004)
In realtà questo era il dato riferito al risparmio annuo, se si conoscesse il prezzo effettivo dell’elettricità si capirebbe l’improbabilità di questo dato. Se il prezzo fosse effettivamente stato di 88 dollari per mezza giornata non molte persone si sarebbero potute permettere un computer. Un ulteriore esempio viene dal New York Times che nell’agosto del 2007 ha affermato che, dal 2000 al 2005, il reddito medio annuale degli americani era di 7,43 miliardi di dollari. Se questo fosse vero significherebbe che il reddito medio per famiglia sarebbe di circa 70 dollari annui, ovvero una cifra irrisoria (questo dato si calcola semplicemente dividendo 7,43 miliardi di dollari per il numero di famiglie presenti in America ovvero circa 100 milioni).
Questo libro è rivolto a chiunque cerchi una guida per informarsi meglio e assumere un atteggiamento più cauto rispetto a tutto ciò che sente o legge.
23 febbraio 2017 alle 11:52 · Archiviato in Cognizioni, Creatività, Digitalizzazioni, Experimental, Futuro, News, Postumanismo, Sociale, Sperimentazioni, Tecnologia and tagged: Application Programming Interface, Intelligenza Artificiale, Interrogazioni sul reale, Programmazione, Ridefinizioni alternative, Teoremi incalcolabili
Su OggiScienza una terrificante suggestione che somiglia molto a una verità: IA in grado di scrivere il codice di se stesse. Sembra che ci stiamo avvicinando a ciò. Un dettaglio dell’articolo:
Programmare una macchina è un’espressione con un significato molto ampio. Nel caso più semplice può riferirsi al comune utilizzo di un elettrodomestico, per esempio all’uso dei menu del nostro forno a microonde, per ottenere una cottura particolare in modo automatico, e differente in diversi intervalli di tempo, senza dover intervenire durante il processo. Oppure, a livello più complesso, per programmazione si indica la selezione e la modifica di un programma pre-impostato su un robot industriale, per aumentare per esempio la sua produttività riducendo il tempo ciclo di una data operazione. O ancora, scendendo sempre di più nel dettaglio, programmare può riferirsi alla scrittura di codice. In termini semplici, questa operazione, denominata coding, presuppone appunto la familiarità con ambiente di sviluppo, con un linguaggio di programmazione, con applicazioni che forniscono soluzioni per dati problemi.
Per svolgere l’attività di coding è necessario conoscere un linguaggio, attenersi a precise regole e attraversare una fase di progettazione e una fase di verifica obiettiva che il codice funzioni esattamente come previsto. In effetti, secondo Mitchel Resnick, professore del MIT Media Lab, il coding non è che un’estensione della capacità di scrivere, e andrebbe coltivata sin dalla più tenera età. E non solo perché il numero di opportunità lavorative per programmatori e ingegneri elettronici o informatici sono in fortissima crescita, ma anche perché, secondo Resnick, dedicarsi all’apprendimento del coding significa poter migliorare molti altri aspetti della propria vita personale e professionale, come la capacità di risolvere problemi, comunicare idee, sviluppare senso pratico.
Tornando alle questioni lavorative, ci sono ad oggi scuole di pensiero del tutto opposte sull’impatto delle nuove tecnologie e la capacità di programmare le macchine. In un articolo pubblicato su wired.com, per esempio, il giornalista Clive Thompson sostiene che il coding sarà il lavoro manuale della prossimo futuro: in altri termini, la crescente specializzazione delle macchine nell’esecuzione di compiti sempre più complessi consentirà loro di rimpiazzare completamente gli operai umani, e di conseguenza le prime professioni disponibili con contenuto manuale saranno, appunto, quelle di chi programma le macchine stesse. E le tecniche di programmazione saranno ridotte a lavori routinari e seriali, né più né meno che gli attuali compiti sulle catene di montaggio.
Una notizia recente su questo fronte è che Gamalon, una start-up di Boston, ha sviluppato una tecnica per dare a un’intelligenza artificiale la capacità di scrivere il proprio stesso codice: in altri termini, l’algoritmo sviluppato è in grado di isolare porzioni del proprio stesso programma, e riscriverle per renderle più efficienti.
Se è vero quindi che l’attività di programmazione richiede capacità che le macchine odierne fanno ancora fatica a riprodurre o simulare – come la creatività e la flessibilità – non è detto che nel prossimo futuro le cose non possano cambiare.
3 gennaio 2017 alle 18:37 · Archiviato in Creatività, Cybergoth, Cyberpunk, Digitalizzazioni, Experimental, Matematica, News, Sperimentazioni, Tecnologia, Tersicore and tagged: Application Programming Interface, Cultura musicale underground, Industrial, Programmazione, Ridefinizioni alternative, Teoremi incalcolabili, The Void*
[Letto su Neural]
Il nome The Void* (si pronuncia “The Void Pointers”) è un omaggio al C ++, linguaggio di programmazione la cui semantica è relativamente minimalista ma che è anche versatile, potente e ricorsivo. Similarmente composito, questo trio – che è formato da Roald van Dillewijn, Tijs Ham ed Eric Magnée – è forte d’un muro di suoni fatto di strumenti ed elettronica modificati ma anche di eleganti strati, tagli e sequenze melodiche, iterate e dissonanti. L’impostazione di fondo è principalmente post-rock
ma l’atipico combo recupera anche attitudine free form, soundscapes e suggestioni della musica seriale e classica. Il contrasto è quello d’un suono organico ed anche astratto, estetizzato ma ricco di momenti dilatati e ipnotizzanti. Anche l’artwork dell’uscita in vinile segue questa ispirazione ed è molto prezioso, con un cartonato opaco trafitto in circolari e geometriche aperture di varie dimensioni che lasciano intravedere una texture colorata sottostante. Infine, è da sottolineare come questo album dei The Void* sia collegato contemporaneamente a ben tre etichette: la Lomechanik, la Esc.rec e la Shipwrec, tutte “made in Netherlands”, così come la band è anche coinvolta nel modding di alcuni strumenti (chitarre e flauti modificati per la creazione di un insieme di sei elementi per archi ed elettronica) al fine di dar vita a sonorità non convenzionali. L’uscita è composta da sei tracce, la prima molto ambientale e insistente, plasmata da un drone di chitarra e radio frequenze, spuri elementi ed effetti, poi nella successiva è il pianoforte ad essere in evidenza, in maniera molto melanconica e rarefatta, sospesa e profonda, mentre la terza esibisce sperimentali orchestrazioni, un puntinismo sonico poi deviato in congiunzioni meditative e influenze di musica da camera. “Abstract” è più elettronica, marziale e inquietante – successivamente – e “E AB EF B” è ancora una stilizzata composizione pianistica appena solcata da altri strati di risucchi e hum. Con “Dereference” – che parte quasi silente – i The Void* ricalibrano l’attenzione per l’infinitesimale, chiudendo l’album splendidamente e lasciandoci nelle malie suscitate da cotante multiformi espressioni.
20 luglio 2016 alle 12:43 · Archiviato in Deep Space, Digitalizzazioni, News, Segnalazioni, Tecnologia and tagged: Apollo 11, Assembler, Emanuele Manco, Luna, Margaret H. Hamilton, Programmazione, Siderale
Su Fantascienza.com la notizia del codice scritto in Assembler, che ha portato l’Apollo11 sulla Luna, diventato di pubblico dominio. Per chi non ha mai scritto codice è una notizia di secondo piano, probabilmente non se ne riesce a cogliere la portata da archeoinformatica, eppure attraverso quelle righe dalla sintassi particolare esiste una logica e una empatia davvero unica, di un tipo ben noto ai programmatori. Un estratto dell’articolo:
Sta tutto in file zip di circa 178 kB (2,2 MB decompresso) il codice della missione Apollo 11, la prima che portò un equipaggio umano sulla Luna il 20 luglio 1969. Curiosamente 178 kB pesa l’immagine, di pubblico dominio distribuita dalla NASA nel pubblico dominio, che mostra la capo progettista di quel software, Margaret H. Hamilton, all’opera.
I sorgenti dell’Apollo 11 Guidance Computer (AGC) sono disponbili su https://github.com/chrislgarry/Apollo-11. Si tratta del software che gestiva il Modulo Comando (Comanche055) e il Modulo Lunare (Luminary099). I file sono stati ottenuti dalla scansione degli originali cartacei custoditi al museo del MIT, eseguita da Paul Fjeld e organizzata da Deborah Douglas, depositati su Github da Chris Garry (https://github.com/chrislgarry). I sorgenti, rilasciati nel marzo 1969, portano la firma, tra gli altri, proprio della Hamilton, all’epoca a capo della Software Engineering Division del MIT Instrumentation Laboratory il cui grupp – come spiega il primo dei file CONTRACT_AND_APPROVALS.agc – ha realizzato i programmi su commessa della National Aeronautics and Space Administration, altrimenti detta NASA.
Questo software era orientato al controllo diretto dell’hardware. Il linguaggio con il quale fu sviluppato era l’Assembly, un linguaggio a “basso livello”, ossia più vicino alla gestione diretta della macchina. Scopo del software era gestire un hardware che avrebbe dovuto essere scagliato nello spazio e sul quale non si sarebbe potuti intervenire una volta partita la missione: le due parti che componevano l’Apollo 11, ossia il Modulo Comando e il Modulo Lunare erano dotate ciascuna di un AGC, che doveva funzionare anche senza l’assistenza degli astronauti.