#librerie

2025-05-22

Se passate per Perugia e non visitate la #libreria Mannaggia (via Cartolari 8, PG) avete perso un'occasione unica. Editoria indipendente, libri per ragazzi e #illustrati , #narrativa non banale, ricerca letteraria, intere #collane di editori di qualità, di cui nelle librerie generaliste trovereste solo rari titoli recenti. Mannaggia spedisce anche per posta in tutta Italia: mannaggialibreria.sumupstore.c

*
slowforward.net/2025/05/07/man

#librerieindipendenti #romanzi #racconti #poesia #libreria #librerie

prealpinux :debian:prealpinux@mastodon.uno
2025-04-27

BookWyrm vs Goodreads

Scegliere un servizio come BookWyrm per le proprie letture vuol dire slegarsi dalle grandi piattaforme di vendita online.

E' un primo passo importante per iniziare a supportare le librerie indipendenti, favorendo così una cultura letteraria ricca, diversificata e legata al proprio territorio. 📚

bookwyrm.it

@libri @fediverso

#libri #letture #librerie

Meme: In alto, a Sophie non piace "Amazon Goodreads"; Sotto, a Sophie piace "Devol Bookwyrm".
Cinzia Zanfinitrillian4950
2025-01-30

Le come luogo di salvezza.
@libri @writefreely
Le librerie “rifugio” per le donne che hanno subito violenza ilpost.it/2025/01/25/librerie-

Giuseppe Ceddiagiu_ced77
2025-01-24

“Tre controlli dei vigili in una settimana, spiegateci il perché”: la denuncia di Prinz Zaum a Bari - la Repubblica bari.repubblica.it/cronaca/202

𝙳𝚊𝚗𝚒𝚎𝚕𝚎 𝙼𝚒𝚌𝚌𝚒 🇪🇺grimjfoot@mastodon.uno
2024-12-30

A #Roma sta per chiudere una libreria indipendente. Non è una qualsiasi, si tratta di #Bookish.
Dal 7 gennaio al 7 febbraio sarà però ancora possibile trovarla aperta e fare un salto a comprare i libri sugli scaffali, molti in sconto.

#leggere #UnoLibri #librerie #libri

@georgienonfa

bookishlibreria.com/so/14PFKqX

2024-12-28

In bagno con #Pennac
La bella foto di Daniel Pennac con pipa e macchina fotografica si trova sulla porta del bagno riservato al personale nella libreria Feltrinelli del centro Sarca a Sesto San Giovanni.
Non commento, posso solo dire che l'ultimo libro di Pennac (che ha appena compiuto 81 anni), Il mio assassino, dà un grande godimento a chi come me ha seguito le vicende della famiglia Malaussène negli ultimi 30 e passa anni :mastoread: :mastolove: #letture #libri #librerie @alephoto85 @macfranc @scuola @goofy @lindasartini
@libri

Foto di Daniel Pennac con pipa e macchina fotograficaDanil Pennac, copertina di Il mio assassino

linuc cannot webview!!!

Mi servirebbe una specie di wrapper per alcune app e servizi #web che già ci sono (maggior parte che hosto io), ma ai quali voglio accesso più organizzato (e magari più ottimizzato per l’uso a tastiera) delle tremila schede fissate su Firefox desktop, che ormai sono talmente tante da coprire tutta la barra… 😱️

Purtroppo, ho scoperto di essere così tanto al mio limite di star rivalutando pure Android!!! Lì, nonostante le rogne, è tanto facile fare una app nativa che mostra una banale #webview e funziona e basta… Ma su Linux #desktop….AIUTO!!!!! È da letteralmente 3 o 4 giorni che sto girando mia testa attorno a ‘sta storia, ma nulla! 😖️

Il problema è che voglio un eseguibile 100% statico e autocontenuto, di cui ho la certezza possa fungere su qualunque sistema abbia il kernel #Linux e un server X11/Wayland, senza pensare ad altro; come un EXE su Windows, o qualunque cavolo di APK su Android… voglio che la app funzioni ovunque e per sempre senza ricompilare, e senza dipendere dalla distro. 🙄️

Ho provato quasi tutte le opzioni webview consigliate su https://github.com/sudhakar3697/awesome-electron-alternatives, ed è così tragico… una buona manciata sono esplicitamente abbandonate, altre non sono mantenute e quindi comunque non installano/compilano, ma comunque tutte si basano solo su: CEF (Chromium Embedded), QtWebView (che è CEF), Electron (che è CEF), e WebKit2GTK. 👯️

Questa roba dell’eseguibile autocontenuto (con libc statica) l’avevo fatta per una app PyGame (FrameNX), ma pare sia letteralmente impossibile far funzionare qualsiasi di questi motori web in questo modo qua. Il problema è che hanno così tante dipendenze, così fragili, che è un attimo che fai questa pacchettizzazione forzata statica strana, e subito non girano più. 🚱️

Ho provato sia cefpython3, (che comunque è abbandonato alla versione 66 di Chromium, preistoria), che pywebview (che si appoggia a Qt o GTK), ma PyInstaller li spacca; manco il tempo del passaggio con staticx. Ho provato poi a compilare un programma C++ per QtWebView, ma staticx non gestisce un sacco di file di runtime di Qt che non sono librerie native. E usando direttamente la roba CEF, senza Qt di mezzo, fa comunque errori irrisolvibili. È la fin. 😩️

Credevo quasi di aver fatto grazie a WebKit2GTK (ad esempio tramite “webview“), con una procedura hackerina (copiando libwebkit2gtk-4.0.so.37 nella cartella di lavoro da /lib/x86_64-linux-gnu/, e con un hex editor sostituendo poi le occorrenze di questo percorso con ./ al suo interno, poi copiando dalla stessa cartella i file WebKitNetworkProcess e WebKitWebProcess, e applicando staticx sia a questi due che al mio programma C dopo aver settato LD_LIBRARY_PATH=.)… però il programma, su un altro sistema, apre solo una finestra bianca e dice “Could not create default EGL display: EGL_BAD_PARAMETER. Aborting…” 😭️

Un disastro!!! Forse si può buildare #WebKit2GTK da sorgente per disattivare proprio tutta la roba di OpenGL che da errore, visto che non freca, ma mancano un sacco di dipendenze, non compila un cazzo… Mi sa che faccio la cringiata, e pacchettizzo un intero file system + binario chroot/proot in un solo eseguibile, alla faccia delle #librerie… ☠️

#desktop #librerie #Linux #web #WebKit2GTK #WebView

Gert :debian: :gnu: :linux:Gert@qoto.org
2024-09-02

Lunedì 9 settembre, ore 19.00
Viale Pasubio 5 (Milano)

Opening Lecture
Richard Sennett, autore, critico letterario e professore di Sociologia alla London School of Economics

In dialogo con

  • Tommaso Sacchi, Assessore alla Cultura Comune di Milano
  • Francesca Colombo, Direttore Generale e Culturale della Biblioteca degli Alberi Milano, progetto della Fondazione Riccardo Catella.

Modera Zita Dazzi scrittrice e giornalista, La Repubblica

Nel mondo di oggi, in cui le forme di convivenza nelle città sono spesso condizionate da vincoli identitari, Richard Sennett ci ricorda che coabitare significa esercitarsi alle differenze.

Questa forza generatrice non riguarda solo i bisogni, ma i sogni di cui i progettisti, gli urbanisti, gli architetti, la politica possono farsi carico perché le città tornino a essere uno spazio che sostiene le traiettorie di vita e la partecipazione di tutte e tutti.

#HumanSpaces #città #Milano #Sennett #Feltrinellieditore #Feltrinelli #librerie

dice.fm/event/avag2q-human-spa

Ieri carestia di postaggio. A parte un altro esame e ancora altro gamin’, stavo vedendo delle robe riguardo la fabbricazione del gamin’, cioè varie tecnologie per fare giochini con un buon livello di cross-platformness e basse rogne (aka no C perché potenzialmente applicazioni complesse)… da un lato la scelta è ampia, ma dall’altro un po’ intricata. Considerando che per motivi di costruzione del software che ora non spiego, gli engine veri e propri (Unity, Godot, ecc…) sono scartati a prescindere, le opzioni che ho visto sarebbero… 🙄

  • JavaScript vanilla, magari con qualce libreria come p5.js: non male, anche perché si possono pacchettizzare in vari modi i programmi basati sulla API Canvas per farli girare come app native su vari sistemi, senza un browser (si veda ad esempio Skia Canvas per desktop, che usa NodeJS e non Electron… o, addirittura, DOjS per, you guessed it, MS-DOS). Tuttavia, pure se quest’ultimissima implementazione esotica in particolare non ha i problemi di aliasing che ho detto l’altro giorno, il coso Skia invece si, così come qualunque altra implementazione moderna che ho visto, per cui non mi sembra proprio il caso… non favorisco piattaforme dove bug di tale livello sono considerati features. 🤢
  • Volevo quasi considerare MonoGame o robe del genere, ma, nonostante sembrano esserci varie risorse sparse (vedi 1, 2, 3, …) per compilare giochi fatti con quello verso il web (che è per me un requisito non negoziabile, seppur voglio comunque anche le build native), così come abbiamo visto la cosa venir fatta in pratica, io non sono riuscita a far funzionare un fico secco dopo averci provato (1 pochino). È a dir poco imprudente scegliere uno stack software se non si riesce a provare da subito che i requisiti essenziali sono soddisfatti, per cui, scartato anche questo ed XNA liscio (e abbiamo finito le opzioni C#, lol). 🥴
  • Ren’Py, come ho già detto altre volte, è figo e lo si può realisticamente usare per creare qualunque app grafica, usando le sue astrazioni per la UI quando comodo e ricadendo sulla API quasi-Pygame quando necessario. Però idk, è un bel po’ di baggage se si considera necessario creare molte delle componenti di gioco in ogni caso, e passi per il peso dei file, però è veramente pallosa la quantità di secondi che impiega a partire su Android, e su Web non ne parliamo proprio! Quindi boh, anche se sarebbe comodo perché funziona e basta e il linguaggio è basato. 😭
  • C’è sempre Pygame liscio, che su desktop da un’esperienza sempre bona, però farlo funzionare su altre piattaforme sembra un po’ una scommessa, non essendo direttamente supportate. C’è Pygame-web, che non ho testato lato developer, ma le demo sembrano intriganti a dir poco, con buone prestazioni e supporto a tantissime librerie… e poi per Android c’è il vuoto. Tutte le cose per girare lì sembrano mezze hack, tutti consigliano procedure diverse, e non sembra esserci alcuna soluzione ovvia, quindi manco è chiaro cosa provare e cosa no. Chissà perché le app in Python per Android sono rare, e i giochi Python non-RenPy si contano sulle dita di una mano mozzata… 🤬
  • Scoperto poi Haxe, linguaggio fatto apposta per buildare ai target più disparati (e addirittura traspilare a diversi altri linguaggi); in realtà è generico e si potrebbe usare per qualsiasi cosa, ma è favorito per i giochi, perché la sintassi deriva da ActionScript 3. Di per sé non reimplementa anche le varie API di Adobe Flash per le applicazioni interattive, quello lo fanno rispettivamente librerie come OpenFL (per un’esperienza vanilla, mentre altre ricalcano anche framework terzi d’epoca).
    • L’unica opzione buona qui sarebbe OpenFL, perché le altre sono tutte estremiste (o dal lato del basso livello che ti costringe a programmare tutto per ogni minchiata, o da quello del game engine che ti costringe a programmare il gioco come dice lui)… però la community è piccola, ci ho messo non poca fatica a capire anche solo come disegnare direttamente bitmap sullo schermo senza usare le astrazioni degli sprite, lol, non buono. (Forse avrei più fortuna cercando risorse per Flash anziché questo, se tanto la API è copiata…) 🥺
  • Poi, infine, LÖVE2D mi torna in mente a caso, e… temo sia la scelta migliore? Viene out-of-the-box con solo funzioni di manipolazione visiva, alla Pygame, nessuna delle fancy astrazioni attorno a cui adattare a forza il codice. Ovviamente su desktop funziona a modo, ma poi è ufficialmente supportato su Android, c’è un porting Web che è molto più performante di Pygame, e, addirittura, ci sono vari porting per varie console. C’è LÖVE Potion per 3DS, WiiU, e Switch, che supportano addirittura le varie cose hardware fighe delle rispettive console! Con le altre soluzioni i metodi di girare su queste console (senza SDK ufficiali) ci sono, ma più in teoria che in pratica, nulla sembra essere plug-and-play, quindi questo è un bonus fighissimo. 😍

Vabbè, in questo caso forse tendo al lovvo bidimensionale, questo post era per condividere le ultime osservazioni, nel caso anche voi qualche volta scegliete anziché scommettere. (Ma perché è così difficile l’offerta? E boh…) Con Lua è un po’ amore e odio personalmente, ma comunque mille volte più godurioso usare quello che C, poco ma sicuro. Haxe e il suo ecosistema però non lo butto via, me lo tengo a mente per altre occasioni. (…Haxe traspila verso Lua, quindi in teoria si può scrivere per Love2D usando quello, e pare che qualcuno ci sia riuscito, ma provando al volo con me non c’è stato verso… pazienza, vedrò meglio.) 😇

https://octospacc.altervista.org/2024/06/13/softwarepostaggio/

#crossPlatform #development #framework #gamedev #librerie #linguaggi #programmazione #ricerca #software #stack

[⤴️ https://octospacc.altervista.org/2024/02/01/emmebi-telegrammico/]

L’ultimissimo miglioramento che ho in ogni caso poi fatto ad #MBViewer è stato l’aggiunta di una funzione per importare codice #CSS e #JavaScript, per modificare come i post possono essere visualizzati. Entrambi funzionano allo stesso modo, con i relativi parametri URL che accettano sia #URL esterni che data URI. Niente di particolare per gli stili, semplicemente importo nella pagina la qualunque cosa venga data lì, ma per gli #userscripts è stato leggermente più #complicato. 😕️

Il punto sta nel voler evitare che #script essenzialmente non affidabili siano iniettati nel contesto della pagina semplicemente da URL, perché potrebbero fare tante cosine cattive; prima fra tutte, rubare #dati dall’archiviazione del #browser del mio dominio, cosa che è un #problema, perché gli utenti inesperti che aprono la app da #link non andranno a cercare di investigare cosa accade dietro le quinte (e, molto probabilmente, non lo farei realisticamente nemmeno io, seguendo la logica del “i miei siti sono miei e li conosco, sui siti altrui ho le protezioni del browser attive“). E quindi inizio a scendere in un rabbithole… ☠️

  • #Iframe? Hmm… non so, non è il caso, sarebbero insicuri, ci sono alcuni modi in cui una pagina in frame può fare robe fastidiose. Non può essere assolutamente un’idea, proprio mai (foreshadowing). 🪟️
  • Trovo un bel po’ di #librerie vecchie che ricompilano codice #JS per rimuovere pericoli, o lo analizzano preventivamente per la presenza di operazioni dannose così che possa non essere mai eseguito… praticamente tutte abbandonate, qualcuna esplicitamente dichiarata insicura e non patchata, e per qualcun’altra lo possiamo dare per scontato. 🐛️
  • Forse questa libreria più recente, jailed, che sfrutta un iframe assieme ad un Web Worker per creare una sandbox forte e bloccare tutte le #API eccetto alcune che si decidono… No, l’ho provata e non va bene, non si riescono a passare alla sandbox oggetti complessi, tra cui i costruttori, è impossibile far funzionare API tipo quella del DOM. 🚧️
    • Sarebbe stata un’idea usare qualche reimplementazione del #DOM per NodeJS tramite browserify, tipo Cheerio, ma farla anche solo girare lì dentro è un altro casino allucinante. 🥴️
  • WASM tecnicamente è una #sandbox a sua volta, e non accede alle API del browser se non con codice colla, quindi magari… teoricamente ok, ma nella pratica non ho trovato nessuna soluzione già bella e pronta che potessi usare per questo specifico scopo. 🕳️
  • La #pazzia: PyScript… sarebbe quasi già pronto, ma avrei dovuto comunque modificarlo per bloccare tutte le API insicure (rimuovere #codice), e poi richiede 15+ MB di dipendenze di runtime… non ideale. 🗿️

Alla fine ci ho pensato meglio, e sono arrivata alla conclusione che è abbastanza sicuro far girare gli script in un iframe con proprietà src="data:[...]" e sandbox="allow-scripts" (che significa, “blocca tutte le proprietà sensibili eccetto gli script”)… voglio dire, nel visualizzare il contenuto dei siti, già permetto eventuali iframe provenienti dai post, e quelli teoricamente possono già fare quello che vogliono eccetto accedere ai dati della finestra root. Nella pratica, i programmini degli utenti quindi hanno accesso a (quasi) l’intera API JavaScript senza poter fare cose bruttissime. 🎉️

Ecco un esempio di tutto, alla fine: questo URL carica il mio MicroBlog, importa un foglio di #stile che mette questo font buffo, e uno script che colora le parole dei #messaggi in base a come si ripetono man mano (inutile, ma serve giusto per dare idea delle potenzialità)… https://hub.octt.eu.org/MBViewer/#/siteUrl=https://octospacc.altervista.org|platform=wordpress.org|includeStyle=[...]|includeScript=[...] (il link con tutta quella roba messa inline è una stringa di quasi 1 KB!). Userò tutta la cosa per rendere gli hashtag nel testo meno intrusivi per il mio sito anche lì, oltre che sul dominio originale. 👋️

Finisco con dati ancora più tecnici, per chi non ha una vita: con questo #design, ogni #userscript deve provvedere ad esporre una funzione che, tramite la Channel Messaging API, viene richiamata dalla #app per ogni messaggio appena questo viene aggiunto al documento visibile; questa funzione riceve dati utili (per ora, solo l’HTML del contenuto; oltre a dati come l’id del messaggio nel flusso, che non sono granché utili all’utente ma devono essere restituiti alla app) e può rimandare nuovi dati indietro richiamando una funzione che è invece l’applicazione ad esporre allo script. Tutto questo ambaradan permetterebbe agli script di effettuare anche operazioni asincrone, comunque, non per forza di dover agire immediatamente alla chiamata. 🤓️

https://octospacc.altervista.org/2024/02/01/emmebi-javascriptico/

#API #app #browser #codice #complicato #CSS #dati #design #DOM #JavaScript #JS #librerie #link #MBViewer #messaggi #pazzia #problema #sandbox #script #stile #URL #userscript #userscripts

[⤴️ https://octospacc.altervista.org/2024/01/16/spaghetti-a-breve-termine/]

Non sono passati nemmeno 10 giorni da quando avevo detto “aaa è improbabile che aggiornerò ancora #MBViewer, dovrei provare a far iniziare a funzionare il progetto definitivo #alternativo migliore…” 🥴️

Però poi mi sono resa conto che: magari del #progetto alternativo non è semplice progettare tutta l’interfaccia e il suo funzionamento (cosa che va fatta, essendo una cosa da #costruire da zero), ma certamente non si posso comunque granché se prima non preparo dei #componenti logici che so già che mi dovranno servire… e allora, tanto vale iniziare a lavorare per quelli, integrandoli nella #app che (per quanto #spaghetti) è già esistente e funzionante, e acchiappare un bel 2 in 1 (espandere quel #programmino, e nel mentre accumulare codice che mi servirà per quel molto altro più tardi). 📦️

La prima cosa un po’ intricata che serve è il supporto all’ingestione di dati da #piattaforme diverse, con #schemi diversi. L’idea è di avere un solo #schema di dati che la app usa per lavorare internamente, per evitare di avere spaghetti, ma questo vuol dire che bisogna fare qualche tipo di conversione. Ci sarebbero diversi approcci: 🔪️

  • Il più classico sarebbe quello di scrivere (come degli schiavi indiani) delle #procedure di codice per tradurre ogni tipo di entità #API dai #formati esterni a quello interno, e viceversa… il che non solo è una pazzia, e richiede un botto di #lavoro (va scritto un numero di #funzioni complesse pari alle piattaforme da supportare, moltiplicato per 2), ma finisce per dare #rogne: appena decidiamo che lo schema di API interno va modificato o allargato, ecco che bisogna modificare in ognuna di quelle parti, ed ecco che magari escono nuovi errori e problemi. Ehhh, no, non ci sto dentro. 😩️
  • La mia idea, invece, è di usare un #documento di #trasformazione, almeno per quando le task sono semplicemente selezione e riassegnazione di chiavi di #dati (per operazioni più complesse, il codice è più appropriato del #markup). Era questo che avevo già provato a fare mesi fa (e funzionava eh!), ma, riguardandolo ora, mi stavo rendendo conto che lo strano #formato JSON da me inventato ha dei #limiti abbastanza forti, tra cui penso sia un casino tremendo usare 1 solo documento di #traduzione per fare sia avanti che indietro. Quindi, ho iniziato a ripensarlo da capo, ma ho pensato abbastanza in fretta che, beh… #JSON non va bene per sta roba, lo si vede anche dal come devo mettermi a scrivere chiavi tipo “__robo__“; JSON abuse, doing I am. Però l’idea credo sia bona… 😋️

E allora, fortunatamente sono tornata sana giusto in tempo, prima di #impazzire ancora una volta dopo mesi con Jason; almeno, abbastanza sana per capire che è meglio impazzire con #XML, se proprio proprio, in questo caso. E, boh, ci ho perso 1 giornata e qualcosa (soprattutto l’altra sera in cui, mezza drogata di sonno, mezza cringiata per colpa della situazione, ho iniziato ad andare un pochino mentale), ma bene o male l’ho fatto funzionare un minimo. C’è stato di tutto in mezzo ovviamente; tra cui, il #godere per aver sistemato un #bug, eccetto scoprire poco dopo che, no, nulla era sistemato… e averci dovuto perdere un’altra mezza giornata. 📆️

In #screenshot, i documenti di trasformazione: a sinistra, quello XML nuovissimo, credo definitivo; al centro, quello JSON vecchio: a destra, quello JSON nuovo che ho sperimentato per pochi quarti d’ora. 💎️

Questa è una di quelle cose capaci di stupirmi anche se fatte da me: la sola #idea di poter raggiungere il 90% di quello scopo intricato semplicemente #componendo un documento XML in maniera adeguata, e avere vita facile per ogni #modifica, la trovo #pazza in concetto. Comunque, ho dovuto (iniziare a) scrivere una mega-funzione totalmente #originale per questa cosa perché, come già avevo constatato mesi fa, ma riconfermato appunto ieri, tutte le #librerie in giro per fare trasformazioni di dati così sono troppo generiche, a quel punto usare quelle sarebbe anche peggio che fare tutto in #codice. E credo di aver cercato fin troppo in giro. E, ahimè, prima o poi soffrirò di nuovo, perché dovrò scrivere pure la #funzione di traduzione inversa! 😵‍💫️

Che centra con la #applicazione mezza kangata? In pratica, avendo integrato questo #sistema già da ora, MBViewer può visualizzare (alcuni) #feed #RSS, e (con qualche problema, per ora) #profili #Mastodon, il che non è male. È male, invece, il mio aver scoperto solo ora che su Firefox avviene un problema con il parsing dei feed RSS, che dovrò sistemare… ma su #Chromium funziona tutto. Oh well. Ohhh, it’s so well. I #glitch non finiscono mai, la tortura della #programmazione è eterna!!! 😭️

Provate idk, https://hub.octt.eu.org/MBViewer/#/SiteUrl=https://mastodon.uno/@octo.rss|platform=rss. (Da Cromio per ora, come ho detto, 😴️)

https://octospacc.altervista.org/2024/01/25/mbviewer-per-distrarci/

#alternativo #API #app #applicazione #bug #Chromium #codice #componendo #componenti #costruire #dati #documento #feed #formati #formato #funzione #funzioni #glitch #godere #idea #impazzire #JSON #lavoro #librerie #limiti #markup #Mastodon #MBViewer #modifica #originale #pazza #piattaforme #procedure #profili #progetto #programmazione #programmino #rogne #RSS #schema #schemi #screenshot #sistema #spaghetti #traduzione #trasformazione #XML

Anne Deschaineaehdeschaine@zirk.us
2024-01-06

I would like to buy more books in other languages (for now, French, Swedish, Greek, maybe Spanish and Italian, are best), and I don't mean just translations of US or UK English works. I would like to not buy them on Amazon. And I am Masto-connected to lots of non-USians, so!

What are your favorite bookshops (that offer online ordering)? Used, new, or both!

#bookstores #bookshops #bookstodon #librairies #bokhandlar #βιβλιοπωλεία #librerie #librerías

Libreria Semi d'inchiostrolibreria_semi_d_inchiostro@mastodon.uno
2023-11-22

Venerdì presentazione del romanzo "Estate caldissima" in compagnia di Gabriella Dal Lago!
#unolibri #libri #presentazioni #librerie

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst