nexa
By thread
nexa@server-nexa.polito.it
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
March 2024
- 26 participants
- 100 messages
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by Marco A. Calamari
On ven, 2024-03-15 at 10:36 +0100, Giacomo Tesio wrote:
> Ma certo, Marco Anselmo Luca, ma certo...
Grazie.
> Ma certo: come diceva sempre la mia mamma quando ero bambino
> "devi assecondare i capricci degli anziani..." ;-)
Mio babbo mi diceva invece che bambini ed anziani devono comportarsi secondo le
proprie convinzioni.
Senti, purtroppo nel frattempo ho schiacciato un pisolino, ed in sogno mi sono
apparsi gli altri due evangelisti, che si sono molto arrabbiati per la
discriminazione.
Per cui da oggi pomeriggio, a giorni alterni, mi chiamerò Marco Anselmo Luca, e
Matteo Anselmo Giovanni, per par condicio.
Confido che il tuo dominio dell'informatica ti consentira di automatizzare
facilmente l'operazione.
Ho invece letto il tuo utilizzo di sed per le operazioni di correzione del mio
nome.
Ti confesso che sono un po' preoccupato, perché non mi è chiaro come tu lo possa
usare con le copie offline e di backup, tenuto conto che alcuni di questi mezzi
sono a sola scrittura.
Visto che ritieni che SHA debba aggiornare le sue pellicole archiviate alla
Svalbard, vorrei che tu mi confortassi che farai altrettanto su tutti i tuoi
supporti offline o di sola lettura.
Mi rendo conto che questo implicherà un poco ecologico consumo quotidiano di
cdrom ma, come mi insegni, meglio sacrificare i cdrom che le persone.
Ti devo infine rivolgere un'ultima richiesta, che mi è venuta in mente mentre
davo ripetizioni di fisica 2 a mia nipote.
Con il tuo uso di connessioni wireless e bluetooth il mio nome errato è stato
trasformato in onde hertziane, che come onde sferiche si stanno diffondendo
nello spazio.
Sono molto preoccupato che tra 4 anni gli abitanti di Proxima Centauri
certamente in grado di craccare il WPA, vengano a conoscenza del mio nome
errato.
Ti pregherei quindi di creare adatti campi hertziani di correzione
superluminali, in modo che i poveri alieni ricevano onde hertziane corrette, e
non si facciano un'opinione errata di me.
Un caro saluto. Marco
March 15, 2024
AI models with systemic risk
by Antonio
Articolo 52 dell'AI Act [1].
Classification of general-purpose AI models as general-purpose AI models with systemic risk
...
2. A general-purpose AI model shall be presumed to have high impact capabilities pursuant to paragraph 1, point (a), when the cumulative amount of computation used for its training measured in FLOPs is greater than 10^25
Dato che quel 10^25 è il discrimine tra AI a rischio sistemico e AI non a rischio sistemico, bisogna essere chiari. Cosa intendeva il legislatore per FLOPs ? Plurale di FLOP, ovvero, QUANTITA' di operazioni in virgola mobile, oppure FLOP al secondo, ovvero, operazioni in virgola mobile AL SECONDO ?
In entrambi i casi è sbagliato.
Nel primo, è un errore "morfologico", il plurale di FLOP è FLOPS, non FLOPs.
Nel secondo, ovvero nel caso il significato fosse di FLOP/s, in questo caso è un errore "matematico" di stima, perché 10^25 è milioni di volte superiore alla "potenza" dei vari GPT4, Gemini, ecc.
FLOPs vs FLOPS
When dealing about computing effort and computing speed (hardware performance), terminology is usually confusing. The term ‘compute’ is usually ambiguous, sometimes applied for a number of operations or the number of operations per second. However, it is important to clarify what kind of operations and the acronyms for them. In this regard, we will use the acronym FLOPS to measure hardware performance, by referring to the number of floating point operations per second, as standardised in the industry, while FLOPs will be applied to the amount of computation for a given task (e.g., a prediction or inference pass), by referring to the number of operations, counting a multiply-add operation pair as two operations.
For instance, we found out that the acronym FLOP may be misleading. By FLOP, we mean one floating point operation, a measure of the amount of compute (computing effort) and by FLOPS, we mean floating point operations per second, i.e., FLOPS = FLOP/s. However, many papers, especially CV papers, use the terms FLOPs and FLOPS to refer to the number of operations, but we will be just use FLOPs as the plural of FLOP, never as FLOPS. Then there is the question of what a FLOP is.
When dealing with DNN, this is usually associated with the number of multiply-add operations, even there are other type of operations involved when executing a DNN. This is done this way because it is usually a good estimation [Hollemans, 2018, Clark et al., 2020]. More specifically, we will count one fused multiply-add operation as 2 FLOPs (note the lowercase ‘s’). Hardware manufacturers count them in this manner [NVIDIA, 2015], because in fact there are two mathematical operations.
However, CV research papers count a multiply-add operation as only one operation. In this case, we will multiply the number of operations reported by 2. In sum, the acronym FLOPS will be applied to measure hardware performance, by referring to the number of floating point operations per second, as standardised in the industry, while FLOPs will be applied to the amount of computation for a given task (e.g., a prediction or inference pass), by referring to the number of operations, counting a
multiply-add operation pair as two operations." [2]
A.
[1] https://www.europarl.europa.eu/doceo/document/TA-9-2024-0138_EN.pdf
[2] https://arxiv.org/pdf/2109.05472.pdf
March 15, 2024
riscrivere internet (was Re: The Software Heritage Archive wants to deadname me forever: part 1)
by 380°
380° <g380(a)biscuolo.net> writes:
[...]
> Sono sicuro che dopo SWH la persona che si sente offesa avrà intenzione
> di aggredire con rant ancora più offensivi anche:
>
> 1. Internet Archive
[...]
> 2. i gestori del repo pypi.org
>
> perché osano distribuire archivi tar.gz che citano l'autore ancora col
> proprio "deadname", tipo:
>
> https://pypi.org/project/ftfy/5.2.0/#files
> (ho verificato :-D )
>
> 3. ogni singolo sviluppatore che non ha aggiornato il "deadname" nel
> proprio "fork" e _continua_ a distribuire una "vecchia" versione del
> repo, tipo:
>
> - https://github.com/yetanothertimes/python-ftfy
> - https://github.com/jalajthanaki/python-ftfy
> - https://github.com/Sandy4321/python-ftfy
> (mi fermo qui ma sono tanti)
>
> 4. ogni distribuzione che /per sfiga/ dovesse aver archiviato il
> sorgente, che ovviamente comprende licenza e README, /prima/ che la
> persona cambiasse il proprio "deadname"
...e ogni altra persona o organizzazione che ancora osa mantenere in
_archivio_ il proprio "deadname":
https://duckduckgo.com/?q=%22Rob+Speer%22+Luminoso&ia=web
tipo:
1. Youtube
https://www.youtube.com/watch?v=3hmhnD0G9RY
"Rob Speer is the chief scientist at Luminoso. He is an alumnus of the
MIT Media Lab, where he worked on the ConceptNet project, an open,
multilingual semantic network."
2. MIT Educational Studies Program
https://esp.mit.edu/teach/teachers/rspeer/bio.html
"ROB SPEER, MIT alum who does AI, and music on the side [...] Rob Speer
graduated from MIT with degrees in computer science and music [...]"
[...]
--
380° (Giovanni Biscuolo public alter ego)
«Noi, incompetenti come siamo,
non abbiamo alcun titolo per suggerire alcunché»
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>.
March 15, 2024
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by Giacomo Tesio
Ma certo, Marco Anselmo Luca, ma certo...
On Fri, Mar 15, 2024 at 09:13:45AM +0100, Marco Anselmo Luca Calamari wrote:
> On ven, 2024-03-15 at 00:41 +0100, Giacomo Tesio wrote:
> > Preferisco adattare gli script alle persone, che le persone agli script.
>
> Benissimo, tu sarai i l primo a comportarti in questo modo
> [...]
> Sei quindi pregato di modificare immediatamente in questo senso tutti i miei
> messaggi che hai ricevuto od a cui hai risposto, in tutti i tuoi archivi
> permanenti, locali e/o temporanei.
> [...]
> Ovviamente senza censurarmi cancellandoli.
$ sed -e "s/Marco A. /Marco Anselmo Luca/g" -i INBOX.INBOX-Nexa.mbox
Contento? :-D
Se vuoi ti mando privatamente uno screenshot di Mutt che mostra le tue
mail aggiornate...
> Tanto mi devi.
Ma certo: come diceva sempre la mia mamma quando ero bambino
"devi assecondare i capricci degli anziani..." ;-)
Giacomo
che sa quanto apprezzerai la mia notoria "politically correctness"... :-p
March 15, 2024
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by 380°
Giacomo Tesio <giacomo(a)tesio.it> writes:
> Cara Wanda, don't panic!
Mi arrendo, hai ragione.
[...]
--
380° (Giovanni Biscuolo public alter ego)
«Noi, incompetenti come siamo,
non abbiamo alcun titolo per suggerire alcunché»
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>.
March 15, 2024
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by Marco A. Calamari
On ven, 2024-03-15 at 00:41 +0100, Giacomo Tesio wrote:
> Cara Wanda, don't panic!
>
> Nessuna build riproducibile è stata maltrattata durante il rebase. :-D
>
>
> Ma andiamo con ordine...
>
> Il giorno Thu, 14 Mar 2024 15:54:34 Wanda Osiris ha scritto:
>
> > SWH si occupa _precisamente_ di archiviazione _sia_ nel pubblico
> > interesse che in quello della ricerca scientifica e *storica*
>
> Ragione per cui ha senso correggere l'attribuzione nei propri archivi,
> non credi? In questo modo, quei repository riporteranno ad imperitura
> memoria i dati corretti dell'autrice.
...
> distrubuisce il software.
>
> Credi davvero che il comportamento di OpenAI sia tanto diverso?
>
>
> Preferisco adattare gli script alle persone, che le persone agli script.
Benissimo, tu sarai i l primo a comportarti in questo modo
Si, perché da oggi io esercito il mio diritto legale di essere chiamato come mi
pare.
Siccome mi sono reso conto che ho fatto un torto ad un evangelista, da oggi in
lista voglio essere chiamato con i mie tre nomi, Marco Anselmo Luca.
Sei quindi pregato di modificare immediatamente in questo senso tutti i miei
messaggi che hai ricevuto od a cui hai risposto, in tutti i tuoi archivi
permanenti, locali e/o temporanei.
Ovviamente senza censurarmi cancellandoli.
Da questo richiesta sono ovviamente esentati tutti gli altri, e gli archivi
della lista.
Tanto mi devi. Buona giornata. Marco
March 15, 2024
How Facebook Messenger and Meta Pay are used to buy child sexual abuse material | Technology | The Guardian
by Alberto Cammozzo
<https://www.theguardian.com/global-development/2024/mar/14/facebook-messeng…>
How Facebook Messenger and Meta Pay are used to buy child sexual abuse material
When police in Pennsylvania arrested 29-year-old Jennifer Louise Whelan in November 2022, they charged her with dozens of counts of serious crimes, including sex trafficking and indecent assault of three young children.
One month earlier, police said they had discovered Whelan was using three children as young as six, all in her care, to produce child sex abuse material. She was allegedly selling and sending videos and photos to a customer over Facebook Messenger. She pleaded not guilty.
The alleged buyer, Brandon Warren, was indicted by a grand jury in February 2022 and charged with nine counts of distribution of material depicting minors engaged in sexually explicit conduct. Warren also pleaded not guilty.
Court documents seen by the Guardian quote Facebook messages between the two in which Warren allegedly describes to Whelan how he wants her to make these videos.
“I’ll throw in a little extra if you tell him it makes mommy feel good and get a good length video,” he tells Whelan, according to the criminal complaint document used for her arrest.
Whelan received payment for the footage over Meta Pay, Meta’s payment system, according to the criminal complaint against him. “Another 250 right? Heehee,” she allegedly wrote to Warren after sending him a video of her abusing a young girl.
Meta Pay, known as Facebook Pay before rebranding in 2022, is a peer-to-peer payment service enabling users to transfer money over the company’s social networks. Users upload their credit cards, debit cards or PayPal account information to Facebook Messenger or Instagram to send and receive money.
A spokesperson for Meta confirmed that the company has seen and reported payments via Meta Pay on Facebook Messenger that are suspected of being linked to child sexual exploitation.
“Child sexual exploitation is a horrific crime. We support law enforcement in its efforts to prosecute these criminals and invest in the best tools and expert teams to detect and respond to suspicious activity. Meta reports all apparent child sexual exploitation to NCMEC [the National Center of Missing and Exploited Children], including cases involving payment transactions,” the spokesperson said.
Through reviewing documents and interviewing former Meta content moderators, a Guardian investigation has found that payments for child sexual abuse content taking place on Meta Pay are probably going undetected, and unreported, by the company.
Court documents show Whelan and Warren’s actions were not spotted or flagged by Meta. Instead, Kik Messenger, another social platform, reported Warren had uploaded videos suspected to be child sexual abuse material (CSAM) to share with other users. This triggered a police investigation in West Virginia, where Warren lives. His electronics were seized, and police then discovered the eight videos and five images that he had allegedly bought from Whelan over Facebook Messenger.
“We responded to valid legal process,” said a Meta spokesperson, in response to the Guardian’s findings that the company did not detect these crimes.
Additionally, two former Meta content moderators, employed between 2019 and 2022, told the Guardian that they saw suspicious transactions taking place via Meta Pay that they believed to be related to child sex trafficking, yet they were unable to communicate with Meta Pay compliance teams to flag these payments.
“It felt like [Meta Pay] was an easy-to-use payment method since these people were communicating on Messenger. The amounts sent could be hundreds of dollars at a time,” says one former moderator, who spoke under the condition of anonymity because they had to sign a non-disclosure agreement as a condition for employment. The moderator, employed for four years until mid-2022 by Accenture, a Meta contractor, reviewed interactions between adults and children over Facebook Messenger for inappropriate content.
Payments for sex or CSAM are typically just a few hundred dollars or less in cases reviewed by the Guardian. According to the former Meta compliance analyst, transactions of such small amounts are unlikely to be flagged for review by Meta’s systems.
This means that payments connected to illicit activities are probably taking place undetected, financial crimes experts said.
A Meta spokesperson said that the company uses a combination of automated and human review to detect suspicious financial activity in payment transactions in Messenger.
“The size of the payment is just one signal our teams use to identify potentially suspicious activity, and our compliance analysts are trained to assess a variety of signals,” said the Meta spokesperson. “If our teams had reason to suspect suspicious activity, especially activity involving a child and even if the payments are small, it would be investigated and reported appropriately.” The spokesperson also said that the company had “a strong ‘see something, say something’ culture”.
For situations where American men were targeting underage girls abroad to groom, payments could be for things like getting a phone and school supplies, the moderator said.
“Most of what we saw were older men from America, targeting girls in Asian countries and often travelling there,” the moderator added.
“When it comes to child exploitation and CSAM, it’s really all about small amounts,” said Silvija Krupena, director of the financial intelligence unit at RedCompass Labs, a London-based financial consultancy. “It’s a global crime and criminals, with different types of offenders. In low-income countries like the Philippines, $20 is big money. The production usually happens in those countries. These are small amounts that can fall through the cracks when it comes to traditional money-laundering controls.”
Meta has a team of about 15,000 moderators and compliance analysts who are tasked with monitoring its platforms for harmful and illegal content. Possible criminal behavior is supposed to be escalated by Meta and reported to law enforcement. Anti-money laundering regulations also require money service businesses to train their compliance staff to have access to enough information to be able to detect when illegal financing occurs.
Yet contractors monitoring Meta Pay transaction activity do not receive specific training for detecting and reporting money flows that could be related to human trafficking, including the language, codewords and slang that traffickers typically use, a former Meta Pay payment compliance analyst contractor said.
“If a human trafficker is using a codeword for selling girls, we didn’t get into that. We didn’t really get trained on those,” said the former compliance analyst. “You don’t even give it a second thought or even dig into that kind of stuff at all.”
A Meta spokesperson disputed the payment compliance analyst’s claims.
“Compliance analysts receive both initial and ongoing training on how to detect potentially suspicious activity – which includes signs of possible human trafficking and child sexual exploitation. Our program is regularly updated to reflect the latest guidance from financial crime regulators and safety experts,” the spokesperson said.
Meta’s history with accusations of child exploitation
Meta’s platforms have been linked to alleged child exploitation and the distribution of CSAM in the past. In December, the New Mexico attorney general’s office filed a lawsuit against the company, alleging Facebook and Instagram are “breeding grounds” for predators targeting children for human trafficking, grooming and solicitation. The suit followed an April 2023 Guardian investigation, which revealed how child traffickers were using Meta’s platforms to buy and sell children into sexual exploitation.
As a money services business, Meta Pay is subject to the US anti-money laundering and “know your client” (KYC) banking regulations, which require businesses to report illicit financing to the US treasury department’s Financial Crimes Enforcement Network (FinCEN).
If Meta fails to detect and report these payments, it could be in violation of US anti-money laundering laws, financial crimes experts have said.
“Regulations apply to any company that participates in a payments business. But for social media because they can see users, they see their lives, their transactions, they can see abuse and see contact. It’s such a low-hanging fruit for them to detect this,” said Krupena.
Other peer-to-peer payment apps have faced scrutiny for their practices in preventing illicit activity. In 2023, Senate Democrats requested detailed fraud detection and prevention methods from PayPal, Venmo and Cash App. Sex trafficking “ran rampant” on Cash App, according to a report last year by US investment research firm Hindenburg. Block, Cash App’s owner, disputed these claims, threatening legal action.
Meta introduced end-to-end encryption to Facebook Messenger in late 2023, but even before this, payment compliance analyst contractors could not access the Messenger chat between the two users exchanging funds. The former Meta compliance analyst told the Guardian their team could only see transactions with notes and the relationship between the two users.
“I don’t know how you do compliance in general without being able to see intentions around transacting,” said Frances Haugen, a former Facebook employee turned whistleblower, who released tens of thousands of damaging documents about its inner workings in 2021. “If the platforms actually wanted to keep these kids safe, they could.”
Siloed work prevents flagging suspicious transactions, say ex-moderators
Other former content moderators interviewed by the Guardian compared their jobs to call center or factory work. Their jobs entailed reviewing content flagged as suspicious by users and artificial intelligence software and making quick decisions on whether to ignore, remove or escalate the content to Meta through a software program. They say they could not communicate with the Meta Pay compliance analysts about suspicious transactions they witnessed.
“We were not allowed to contact Facebook employees or other teams,” one former moderator said. “Our managers didn’t tell us why this was.”
Gretchen Peters, who is the executive director of the Alliance to Counter Crime Online, has documented the sale of narcotics, including fentanyl, over Meta’s platforms. She also interviewed Meta moderators who were not permitted to communicate with other teams in the company. She said this siloing was a “major violation” of “know your customer” banking regulations.
“We’ve heard from moderators at Meta they can see illegal conduct is occurring and that there are concurrent transactions through Meta Pay, but they have no way of communicating what they are seeing internally to moderators at Meta Pay,” said Peters.
A Meta spokesperson said the company prohibits the sale or purchasing of narcotics on its platforms and removes that content when it finds it.
“Meta complies with all applicable US anti-money laundering laws,” the spokesperson said. “It is also untrue to suggest that there is a lack of communication between teams. Content moderators are trained to escalate to a specific point of contact, who brings in the appropriate specialist team.”
In December, Meta announced it had rolled out end-to-end encryption for messages sent on Facebook and via Messenger. Encryption hides the contents of messages from anyone but the sender and intended recipient by converting text and images into unreadable cyphers that are unscrambled on receipt.
Yet this move could also affect the company’s ability to prevent illicit transactions on Meta Pay. Child safety experts, policymakers, parents and law enforcement criticized the move, arguing encryption obstructs efforts to rescue child sex trafficking victims and the prosecution of predators.
“When Meta Pay is linked to Messenger or Instagram, the messages associated with payments could uncover illicit behaviors,” said Krupena. “Now that this context is removed, the implications are significant. It almost feels like encryption is inadvertently facilitating illicit activity. This opens many opportunities for criminals to hide in plain sight.”
A Meta spokesperson said the decision to move to encryption was to “provide people with privacy”, and that the company encourages users to self-report private messages related to child exploitation to the company.
“Moving to an encrypted messaging environment does not mean we will sacrifice safety, and we have developed over 30 safety tools, all of which work in encrypted messaging,” said the spokesperson. “We’ve now made our reporting tools easier to find, reduced the number of steps to report and started encouraging teens to report at relevant moments.”
FinCEN declined to comment. PayPal did not respond to a request for comment.
March 15, 2024
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by Giacomo Tesio
Cara Wanda, don't panic!
Nessuna build riproducibile è stata maltrattata durante il rebase. :-D
Ma andiamo con ordine...
Il giorno Thu, 14 Mar 2024 15:54:34 Wanda Osiris ha scritto:
> SWH si occupa _precisamente_ di archiviazione _sia_ nel pubblico
> interesse che in quello della ricerca scientifica e *storica*
Ragione per cui ha senso correggere l'attribuzione nei propri archivi,
non credi? In questo modo, quei repository riporteranno ad imperitura
memoria i dati corretti dell'autrice.
> conservazione dei "vecchi" dati personali è lecita quindi, o no?!?
Se quegli specifici dati avessero un valore storico, sì.
In questo caso, non solo non hanno valore storico, ma potrebbero
causare errori nella ricostruzione della storia del software che la
Software Heritage si impegna a proteggere.
> Pretendere di "riscrivere la storia" [...] e spacciare quella pretesa
> come un diritto fa *estremamente* male alla salute culturale di
> un'intera civiltà.
Mi sembra una ricostruzione un po' apocalittica (oltre che non
attinente ai fatti: nessuno vuole riscrivere la storia, in questo caso)
> per altro *pubblicata* direttamente dalla persona interessata, manco
> dal suo datore di lavoro
Mi sfugge completamente cosa intendevi con questo passaggio: cosa
cambierebbe se il software in questione fosse stato realizzato su
commissione?
> [... lezioncina su GIT ad un programmatore che lo usa dal 2009 ...]
>
> Ma ancora più grave è che "riscrivere la storia" di un repository
> significa inevitabilmente buttare nel cestino anche tutte le firme
> crittografiche GPG effettuate su ciascun commit [3], che è uno
> strumento _fondamentale_ per verificare l'integrità del repository.
Eseguendo `git log --show-signature` sul repository in questione non
emerge alcuna firma crittografica [1].
Le commit di cui stai parlando non sono state mai firmate, quindi
nessuna firma crittografica è stata maltrattata durante quel rebase.
Inoltre, le firme crittografiche dei manutentori dei pacchetti nelle
varie distribuzioni rimangono valide, perché non firmano le commit
dell'autrice, ma le proprie, nei propri repository.
Infine, tutti i riferimenti ai vecchi hash su GitHub rimangono
disponibili. Ad esempio questa è la prima commit, originale, sul repo
https://github.com/rspeer/python-ftfy/tree/9a5ad6f64378219eafcddb348ac91fa1…
Quindi davvero, non c'è alcun bisogno di farsi prendere dal panico!!!
:-D
Se poi le build in questione sono effettivamente riproducibili, la loro
riproduzione sarà già stata automatizzata (non foss'altro che per
verificarne la riproducibilità) e quindi sono comunque a pochi comandi
di distanza dal checkout del repository modificato.
> Inoltre, pensa se per una /sfortuna/ micidiale il "deadname" di quella
> persona comparisse nei "credits" che molti software mostrano nelle
> schermate "About": gli sviluppatori del software dovrebbero *ritirare*
> le copie circolanti?!?
Non mi pare sia ciò che l'autrice ha chiesto a SWH.
Poi certamente, potrebbe ragionevolmente chiedere ai software che la
menzionano nei credits di aggiornare la menzione nelle versioni
successive.
> gitmailmap [...] senza sabotare il lavoro degli altri [...]
Guarda che l'autrice non deve niente a nessuno!
Questo senso di "entitlement" è uno degli effetti più tristi
dell'opensource: nessuno di coloro che ha usato in qualsiasi modo il
software dell'autrice ha il diritto di definire "sabotaggio" qualsiasi
modifica che questa abbia voluto apportare alla propria opera.
Lei ha donato una propria opera.
Chi vi basa il proprio lavoro, non può far altro che ringraziarla.
Chiunque sia infastidito dal suo rebase, può liberamente smettere di
usare, studiare, modificare, distribuire il software che ha scritto.
> Se vuoi spacciare come diritto un capriccio
[...]
> > Beh, non stiamo parlando della storia ma di uno specifico repository
> > GIT.
>
> Questo ti pare poco solo perché non ti importa del lavoro degli altri
> (sfortunati) basato su quello specifico repository.
No Wanda, la differenza mi è molto chiara.
E' diritto dell'autrice vedere la propria opera attribuita
correttamente al proprio nome.
E' capriccio di chi esige di appropriarsi del suo lavoro
pretendere che lei rinunci a tale diritto per non disturbare
il proprio workflow, evidentemente troppo fragile.
> «Rebase Considered Harmful»
> https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md
Tecnicamente un'ottima lettura, che consiglio spesso.
Ma mi sorprende molto che quel passaggio del ragionamento di Hipp ti
piaccia: riduce il programmatore ad uno strumento produttivo.
La programmazione è anzitutto una forma di espressione: pretendere che
sia "egoless", che prescinda dalla persona che si esprime, significa
letteralmente pretendere l'alienazione di quella persona.
Così come è alienante esigere che una programmatrice rinunci ad un
proprio diritto per non disturbare troppo gli script di chi ne
distrubuisce il software.
Credi davvero che il comportamento di OpenAI sia tanto diverso?
Preferisco adattare gli script alle persone, che le persone agli script.
Giacomo
[1] https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
March 14, 2024
Identifying software (and software bill of materials).
by 380°
Buonasera,
segnalo un articolo un po' tecnico che illustra cosa significa
identificare univocamente i "software artifact", specialmente quando in
forma binaria, che è la forma particolarmente problematica del
software... da sempre :-)
«Identifying software»
Ludovic Courtès, Maxim Cournoyer,
Jan Nieuwenhuizen, Simon Tournier — March 4, 2024
https://guix.gnu.org/en/blog/2024/identifying-software/
--8<---------------cut here---------------start------------->8---
[...]
1 On Software Identification
════════════════════════════
The /Software Identification Ecosystem Option Analysis/ white paper
released by CISA in October 2023 studies options towards the
definition of /a software identification ecosystem that can be used
across the complete, global software space for all key cybersecurity
use cases/.
Our experience lies in the design and development of [GNU Guix], a
package manager, software deployment tool, and GNU/Linux distribution,
which emphasizes three key elements: *reproducibility, provenance
tracking, and auditability*. We explain in the following sections our
approach and how it relates to the goal stated in the aforementioned
white paper.
Guix produces binary artifacts of varying complexity from source code:
package binaries, application bundles (container images to be consumed
by Docker and related tools), system installations, system bundles
(container and virtual machine images).
All these artifacts qualify as “software” and so does source
code. Some of this “software” comes from well-identified upstream
packages, sometimes with modifications added downstream by packagers
(patches); binary artifacts themselves are the byproduct of a build
process where the package manager uses /other/ binary artifacts it
previously built (compilers, libraries, etc.) along with more source
code (the package definition) to build them. How can one identify
“software” in that sense?
Software is dual: it exists in /source/ form and in /binary/,
machine-executable form. The latter is the outcome of a complex
computational process taking source code and intermediary binaries as
input.
Our thesis can be summarized as follows:
*We consider that the requirements for source code
identifiers differ from the requirements to identify
binary artifacts.*
Our view, embodied in GNU Guix, is that:
1. *Source code* can be identified in an unambiguous and
distributed fashion through /inherent identifiers/
such as cryptographic hashes.
2. *Binary artifacts*, instead, need to be the byproduct
of a /comprehensive and verifiable build process
itself available as source code/.
In the next sections, to clarify the context of this statement, we
show how Guix identifies source code, how it defines the
/source-to-binary/ path and ensures its verifiability, and how it
provides provenance tracking.
[GNU Guix] <https://guix.gnu.org>
[...]
As with Nix, build processes are identified by /derivations/, which
are low-level, content-addressed build instructions; derivations may
refer to other derivations and to source code. For instance,
`/gnu/store/c9fqrmabz5nrm2arqqg4ha8jzmv0kc2f-gcc-11.3.0.drv' uniquely
identifies the derivation to build a specific variant of version
11.3.0 of the GNU Compiler Collection (GCC). Changing the package
definition—patches being applied, build flags, set of dependencies—,
or similarly changing one of the packages it depends on, leads to a
different derivation (more information can be found in [Eelco
Dolstra's PhD thesis]).
Derivations form a graph that *captures the entirety of the build
processes leading to a binary artifact*. In contrast, mere package
name/version pairs such as `gcc 11.3.0' fail to capture the breadth
and depth elements that lead to a binary artifact. This is a
shortcoming of systems such as the *Common Platform Enumeration* (CPE)
standard: it fails to express whether a vulnerability that applies to
`gcc 11.3.0' applies to it regardless of how it was built, patched,
and configured, or whether certain conditions are required.
[reproducible builds] <https://reproducible-builds.org>
[Nix package manager] <https://nixos.org>
[Eelco Dolstra's PhD thesis]
<https://edolstra.github.io/pubs/phd-thesis.pdf>
[...]
5 Provenance Tracking
═════════════════════
We define provenance tracking as the ability *to map a binary artifact
back to its complete corresponding source*. Provenance tracking is
necessary to allow the recipient of a binary artifact to access the
corresponding source code and to verify the source/binary
correspondence if they wish to do so.
[...]
In other words, because Guix itself defines how artifacts are built,
*the revision of the Guix source coupled with the package name
unambiguously identify the package's binary artifact*. As scientists,
we build on this property to achieve reproducible research workflows,
as explained in this [2022 article in /Nature Scientific Data/]; as
engineers, we value this property to analyze the systems we are
running and determine which known vulnerabilities and bugs apply.
Again, a software bill of materials (SBOM) written as a mere list of
package name/version pairs would fail to capture as much
information. The *Artifact Dependency Graph (ADG) of [OmniBOR]*, while
less ambiguous, falls short in two ways: it is too fine-grained for
typical cybersecurity applications (at the level of individual source
files), and it only captures the alleged source/binary correspondence
of individual files but not the process to go from source to binary.
[`guix pack']
<https://guix.gnu.org/manual/en/html_node/Invoking-guix-pack.html>
[the `time-machine' command]
<https://guix.gnu.org/manual/en/html_node/Invoking-guix-time_002dmachine.html>
[2022 article in /Nature Scientific Data/]
<https://doi.org/10.1038/s41597-022-01720-9>
[OmniBOR] <https://omnibor.io/>
[...]
--8<---------------cut here---------------end--------------->8---
--
380° (Giovanni Biscuolo public alter ego)
«Noi, incompetenti come siamo,
non abbiamo alcun titolo per suggerire alcunché»
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>.
March 14, 2024
Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1
by Wanda Osiris
Caro Giacomo,
mi spiace essere prolissa ma credo proprio che quanto sostieni sia
drammaticamente fuorviante
Giacomo Tesio <giacomo(a)tesio.it> writes:
> Ciao 380,
>
> Il 13 Marzo 2024 19:03:07 CET, "380°" <g380(a)biscuolo.net> ha scritto:
>> sinceramente ho capito poco in merito alla richiesta della
>> persona offesa.
>
> Una persona ha cambiato nome e ha legittimamente richiesto l'aggiornamento dei dati
> pubblicati da Sofware Heritage, esercitando un diritto riconosciutole
> dal GDPR.
A parte che *purtroppo* non abbiamo la trascrizione di _tutte_ le
comunicazioni avvenute in merito alla richiesta della persona ma solo un
suo sfogo sconclusionato, facciamo finta che quanto scrivi tu sia
l'interpretazione corretta di come sono andati i fatti.
Esercitando un diritto, ah sì?!? Bene, parliamo (io che sono davvero
ignorante!) del diritto di rettifica previsto dal GDPR, allora.
https://www.altalex.com/documents/news/2018/04/12/articolo-16-gdpr-diritto-…
--8<---------------cut here---------------start------------->8---
Di seguito riportiamo il Considerando collegato:
(65) Un interessato dovrebbe avere il diritto di ottenere la rettifica
dei dati personali che la riguardano [...] Tale diritto è in
particolare rilevante se l'interessato ha prestato il proprio consenso
quando era minore, e quindi non pienamente consapevole dei rischi
derivanti dal trattamento, e vuole successivamente eliminare tale tipo
di dati personali, in particolare da internet.
--8<---------------cut here---------------end--------------->8---
SWH, svolgendo il proprio compito istituzionale di /biblioteca digitale/
di sorgenti del software _pubblicato_ (dagli aventi diritto) effettua un
trattamento dei dati personali pubblicati assieme al sorgente del
software e _quindi_ è necessario che acquisisca il consenso di *ogni*
persona nominata in tali sorgenti? IANAL ma se fosse così sarebbe
davvero un bel *casino* cosmico per ogni organizzazione che si occupa di
(re)distribuire software libero, che _obbligatoriamente_ deve essere
messo a disposizione dal (re)distributore anche in forma di codice
sorgente.
...ma è la seconda parte del considerando 65 che forse è ancora più
interessante:
--8<---------------cut here---------------start------------->8---
[...] Tuttavia, dovrebbe essere lecita l'ulteriore conservazione dei
dati personali qualora sia necessaria per esercitare il diritto alla
libertà di espressione e di informazione, per adempiere un obbligo
legale, per eseguire un compito di interesse pubblico [...], a fini di
archiviazione nel pubblico interesse, di ricerca scientifica o storica o
a fini statistici, ovvero per accertare, esercitare o difendere un
diritto in sede giudiziaria.
--8<---------------cut here---------------end--------------->8---
SWH si occupa _precisamente_ di archiviazione _sia_ nel pubblico
interesse che in quello della ricerca scientifica e *storica*: la
conservazione dei "vecchi" dati personali è lecita quindi, o no?!?
Pretendere di "riscrivere la storia" - per altro *pubblicata*
direttamente dalla persona interessata, manco dal suo datore di lavoro -
e spacciare quella pretesa come un diritto fa *estremamente* male alla
salute culturale di un'intera civiltà.
> SWH non ha risposto alla sua richiesta.
Così dice la persona offesa, sarei felice di leggere un comunicato
stampa ufficiale di SWH
>> la spiegazione tecnica relativa ai metadati come parte integrante della
>> "chain of trust" è tecnicamente chiara, no?
>
> SE fosse corretta (cosa di cui non sono certo), sarebbe comunque
> irrilevante.
Sulla correttezza tecnica torno tra poco, sul fatto che tu la ritenga
irrilevante invece mi permetto di osservare che è irrilevante solo per
chi se ne frega altamente del *faticoso* lavoro di molte altre persone
di archiviare, conservare, scrivere software derivato, effettuarne il
_build_ in modo riproducibile e che garantisca l'integrità della
software supply chaini e infine (re)distribuire il codice originale o
modificato. É abbastanza chiaro di cosa stiamo parlando?... eh sì,
questo dipende anche dall'immutabilità nel tempo di un artefatto [2]
digitale come lo è un repositpory git (o altro DVCS).
Veniamo alla correttezza tecnica.
--8<---------------cut here---------------start------------->8---
The golden rule of rebasing
Once you understand what rebasing is, the most important thing to learn
is when not to do it. The golden rule of git rebase is to never use it
on public branches.
For example, think about what would happen if you rebased main onto your
feature branch:
[...]
The rebase moves all of the commits in main onto the tip of feature. The
problem is that this only happened in your repository. All of the other
developers are still working with the original main. Since rebasing
results in brand new commits, Git will think that your main branch’s
history has diverged from everybody else’s.
The only way to synchronize the two main branches is to merge them back
together, resulting in an extra merge commit and two sets of commits
that contain the same changes (the original ones, and the ones from your
rebased branch). Needless to say, this is a very confusing situation.
So, before you run git rebase, always ask yourself, “Is anyone else
looking at this branch?” If the answer is yes, take your hands off the
keyboard and start thinking about a non-destructive way to make your
changes (e.g., the git revert command). Otherwise, you’re safe to
re-write history as much as you like.
--8<---------------cut here---------------end--------------->8---
(da
https://www.atlassian.com/git/tutorials/merging-vs-rebasing#the-golden-rule…)
Se non fosse abbastanza corretto, possiamo rivolgerci il più autorevole
(?) git-scm.com (enfasi mia):
--8<---------------cut here---------------start------------->8---
In this section, you’ll see how to accomplish these tasks so that you
can make your commit history look the way you want BEFORE you share it
with others.
[...]
One of the cardinal rules of Git is that, since so much work is local
within your clone, you have a great deal of freedom to **rewrite your
history locally**. However, once you push your work, it is a different
story entirely, and you should consider pushed work as final unless you
have good reason to change it. In short, you should **avoid pushing your
work until** you’re happy with it and ready to share it with the rest of
the world.
--8<---------------cut here---------------end--------------->8---
(https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History)
Ma ancora più grave è che "riscrivere la storia" di un repository
significa inevitabilmente buttare nel cestino anche tutte le firme
crittografiche GPG effettuate su ciascun commit [3], che è uno strumento
_fondamentale_ per verificare l'integrità del repository.
Quindi, usare "git-filter-repo" su software già pubblicato e distribuito
(ricordo che git è un DVCS, dove D sta per /distributed/) è *devastante*
per il lavoro di _molte_ altre persone.
Invece di riscrivere la storia, nel caso in specie il file README.md e
l'attribuzione di copyright AFAIU, di un intero repository dal commit 0
in poi, per cambiare il nome e l'email mostrati nei suoi log, git mette
a disposizione un meccanismo per /mappare/ i nomi degli autori o
committer: https://git-scm.com/docs/gitmailmap; in questo modo, senza
sabotare il lavoro degli altri, si possono cambiare quei due metadati
invece di /cambiare i dati/ del *passato*.
Inoltre, pensa se per una /sfortuna/ micidiale il "deadname" di quella
persona comparisse nei "credits" che molti software mostrano nelle
schermate "About": gli sviluppatori del software dovrebbero *ritirare*
le copie circolanti?!?
>> Tra l'altro, il rant è talmente sconclusionato che non ho capito bene
>> qual'è la precisa richiesta della persona nei confronti del progetto
>> SWH: mi spiego meglio...
>>
>> La pagina di archivio del progetto è questa:
>> https://archive.softwareheritage.org/browse/origin/directory/?origin_url=ht…
>
> I nomi dell'autrice sono riportati in questo tweet
> <https://twitter.com/r_speer/status/1570609220197969922>
>
> ```
> About my name:
>
> My married name is Elia Robyn Lake. People who know me call me Elia.
>
> My maiden name is Robyn Speer.
>
> My papers are, and will continue to be, under my maiden name. It's not my deadname.
>
> Call me Robyn Speer if you're citing something I wrote.
>
> Thanks!
> ```
E questo cosa avrebbe a che fare con quello che ho scritto io sopra?
[...]
>> Quale sarebbe il "deadname" che SWH dovrebbe modificare?
>
> Onestamente non lo so, ma ho l'impressione che dopo la scrittura
> dell'articolo, SWH abbia trovato il modo di modificarlo.
Onestamente non lo so... quindi di cosa stiamo parlando?!? :-)
> Che bastasse (come ipotizzavo) ri-clonare il repository?
Buttando in /dev/null tutto quello che esisteva fino al minuto prima del
cambio di nome; considerando quanto vedo qui:
https://archive.softwareheritage.org/browse/revision/3a21d20e353f81be7820e3…
è esattamente quello che hanno fatto in SWH
>> SWH dovrebbe riscrivere la storia di (tutti?!?) i repository che
>> contengono il "deadname" di quella persona?
>
> A quanto ho capito, lei l'ha richiesto solo per il proprio repository,
> non per i fork.
A quanto ho capito, lei si è sentita in dovere di offendere SWH mentre
si guarda bene da fare la stessa cosa con GitHub e tutti gli altri
/archivi/ sparsi per il globo che contengono copie del suo repository
con il suo "deadname".
Pensa se una situazione del genere succedesse con qualcosa di stampato
:-D... Aggià, ma _succede_! (come spiega Marco [1])
>> > I pointed out that you can just change a citation if it's wrong, and
>> > that I've gotten citations that deadname me changed. I pointed out
>> > that people cite my code under my correct name through Zenodo,
>>
>> sì certo, anche coloro che hanno effettuato una citazione 5 anni fa
>> tengono aggiornate le citazioni con un "live URL" che punta al Database
>> Universale Eterno delle Sacre Citazioni
>
> Non capisco quale sia il problema: a meno che non stia mentendo (cosa
> che al momento non ho ragione di credere) l'autrice ha ottenuto
> l'aggiornamento delle citazioni di coloro cui ha richiesto di
> correggerle.
No, l'autrcice ha riscritto la storia del repository archiviato anche in
SWH e ha preteso, solo da SWH a quanto pare, che SWH buttasse via il
vecchio per sostituirlo con quello nuovo.
> Ha ancora la libertà di decidere quando esercitare un proprio diritto?
Se vuoi spacciare come diritto un capriccio fai pure, io all'inizio di
questa email ho riportato l'estratto del considerato 65 che spiega bene
la differenza tra diritti e capricci.
>> > not through whatever cryptographic bullshit SWH was dreaming up.
>>
>> Oh sì certo, riscrivere la storia è un giochino da bambini dell'asilo,
>> no?!?
>
> Beh, non stiamo parlando della storia ma di uno specifico repository
> GIT.
Questo ti pare poco solo perché non ti importa del lavoro degli altri
(sfortunati) basato su quello specifico repository.
> Poi, secondo me serve almeno la terza media, ma il comando da usare è qui
> <https://github.com/newren/git-filter-repo>
Mentre serve un po' di maturità per comprendere i danni di una
operazione del genere all'intera comunità del software libero.
Consiglio a chi fosse interessato la lettura di
https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md
«Rebase Considered Harmful»
La parte filosofica che ritengo rilevante in questa discussione è
questa:
--8<---------------cut here---------------start------------->8---
Weinberg [4] argues programming should be "egoless." That is to say,
programmers should avoid linking their code with their sense of self, as
that makes it more difficult for them to find and respond to bugs, and
hence makes them less productive. [...] It is humbling to display your
stupid mistake to the whole world on an Internet that never forgets. And
yet, humble programmers generate better code.
--8<---------------cut here---------------end--------------->8---
[...]
Saluti, Wanda.
[1] quando racconta dei microfilm del Arctic World Archive (id:dade46b8ef45640ba6e1bb87c216fdb3e0b13d28.camel@marcoc.it)
[2] si veda ad esempio: https://guix.gnu.org/en/blog/2020/securing-updates/
[3] https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
[4] «The Psychology of Computer Programming» (1971)
https://geraldmweinberg.com/Site/Programming_Psychology.html
--
380° (Giovanni Biscuolo public alter ego)
«Noi, incompetenti come siamo,
non abbiamo alcun titolo per suggerire alcunché»
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>.
March 14, 2024