Scritto da
avvelentani
Cubicolario
il 2014-11-05 22:28:52.0 alle 2014-11-05 22:28:52.0
Trollate totali: 18184
Scritto da:
>
http://www.corriere.it/foto-gallery/esteri/14_otto... 
>
>

> il gatto-manga è molto amato nel Paese del Sol Levante
questi neologismi, non so
>

>
>


> il gatto-manga è molto amato nel Paese del Sol Levante
questi neologismi, non so
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-05 22:25:50.0 alle 2014-11-05 22:25:50.0
Trollate totali: 18184
Scritto da:
>
> Giambo hai chiesto alla mogliettina che lavora nella sanità se conosce l'Enterosgel?
Ma tu veramente vuoi ingerire veramente un coso che si chiama "enterosgel" e che viene fuori da un tubetto come la cremina che uso per curare le mie piaghe da decubito d'estate?
**Modificato dall'autore il 05.11.2014 22:26**
>
> Giambo hai chiesto alla mogliettina che lavora nella sanità se conosce l'Enterosgel?
Ma tu veramente vuoi ingerire veramente un coso che si chiama "enterosgel" e che viene fuori da un tubetto come la cremina che uso per curare le mie piaghe da decubito d'estate?
**Modificato dall'autore il 05.11.2014 22:26**
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-05 22:24:47.0 alle 2014-11-05 22:24:47.0
Trollate totali: 18184
Scritto da: Mitzky
> In quanti siamo in totale??
> Mitzky, Fazendero, Avve, Ex, Giambo, Suora, Avvelentani, Yoda, Samurai.
> GNGIVA, Licchione.
> Mi sa che Suor dannata, il papa e The Sad state. Sono sockpuppet.
>
> Otto.
> Anche se ho la certezza dell'esistenza solo di cinque o sei, sette..in.realtà.
>
> Siamo pochi.
> Molto pochi.
> Come si fa ad avere più troll..o semplicemente non li volete??
Se ci fingessimo tutti donna faremmo raddoppiare il numero percepito degli utenti istantaneamente.
> In quanti siamo in totale??
> Mitzky, Fazendero, Avve, Ex, Giambo, Suora, Avvelentani, Yoda, Samurai.
> GNGIVA, Licchione.
> Mi sa che Suor dannata, il papa e The Sad state. Sono sockpuppet.
>
> Otto.
> Anche se ho la certezza dell'esistenza solo di cinque o sei, sette..in.realtà.
>
> Siamo pochi.
> Molto pochi.
> Come si fa ad avere più troll..o semplicemente non li volete??
Se ci fingessimo tutti donna faremmo raddoppiare il numero percepito degli utenti istantaneamente.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-05 14:04:33.0 alle 2014-11-05 14:04:33.0
Trollate totali: 18184
Forse non lo sai ma nei paesi civilizzati normalmente la macellazione viene fatta con questo:
http://en.wikipedia.org/wiki/Captive_bolt_pistol 
non sgozzandoli mentre sono sempre coscienti.
PS. non che me ne importi poi granche' se soffrono o no.
**Modificato dall'autore il 05.11.2014 14:05**

non sgozzandoli mentre sono sempre coscienti.
PS. non che me ne importi poi granche' se soffrono o no.
**Modificato dall'autore il 05.11.2014 14:05**
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-05 13:58:19.0 alle 2014-11-05 13:58:19.0
Trollate totali: 18184
Scritto da: exsinistro
> Mi sentirei di affermare che sono stati uccisi dalla Codardia-ignavia dell'attuale Papa.
>
http://www.corriere.it/esteri/14_novembre_04/pakis... 
Dovresti cominciare a farti chiamare "Il Papa di Milano".
> Mi sentirei di affermare che sono stati uccisi dalla Codardia-ignavia dell'attuale Papa.
>

Dovresti cominciare a farti chiamare "Il Papa di Milano".
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Dio Porco
Ad
hhttps://bestemmietraamicidioporco
Perché non bestemmiare tra amici? È una cosa divertente!
Scritto da
avvelentani
Cubicolario
il 2014-11-04 16:35:47.0 alle 2014-11-04 16:35:47.0
Trollate totali: 18184
Scritto da: Mitzky
> Sono in.Buenos aires. Milano
>
> **Modificato dall'autore il 04.11.2014 15:53**
L'accendisigari della macchina di un cliente?
> Sono in.Buenos aires. Milano
>
> **Modificato dall'autore il 04.11.2014 15:53**
L'accendisigari della macchina di un cliente?
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-04 14:49:30.0 alle 2014-11-04 14:49:30.0
Trollate totali: 18184
Scritto da:
> che ne pensate?
>
> cioè caso in cui qualcuno tocca qualcun altro sulla spalla tipo
>
>
> come la vedete?
>
> in termini PUA si chiama kino
kynodesme?
> che ne pensate?
>
> cioè caso in cui qualcuno tocca qualcun altro sulla spalla tipo
>
>
> come la vedete?
>
> in termini PUA si chiama kino
kynodesme?
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-04 13:53:40.0 alle 2014-11-04 13:53:40.0
Trollate totali: 18184
Scritto da: Mitzky
> Per leggere l'articolo..idyoda.
Probabilmente stai navigando col cellulare.
Te lo meriti.
> Per leggere l'articolo..idyoda.
Probabilmente stai navigando col cellulare.
Te lo meriti.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-03 16:56:24.0 alle 2014-11-03 16:56:24.0
Trollate totali: 18184
Scritto da:
> Sardegna, mamme in rivolta contro le bidelle rom a scuola
>
> In provincia di Cagliari decine di genitori protestano: "Ritireremo i figli da scuola" ma il sindaco ribatte: "No a stereotipi razzisti, bisogna integrarle" a spese dei vostri figli.
>
> Il Sindaco (di sinistra)
>
Perche' tradizionalmente le bidelle della scuola sono persone pulite e acculturate.
In italia.
> Sardegna, mamme in rivolta contro le bidelle rom a scuola
>
> In provincia di Cagliari decine di genitori protestano: "Ritireremo i figli da scuola" ma il sindaco ribatte: "No a stereotipi razzisti, bisogna integrarle" a spese dei vostri figli.
>
> Il Sindaco (di sinistra)
>
Perche' tradizionalmente le bidelle della scuola sono persone pulite e acculturate.
In italia.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-02 15:30:46.0 alle 2014-11-02 15:30:46.0
Trollate totali: 18184
Scritto da: Ordine Reich 2
> Scritto da: Mitzky
> > È vero o è una leggenda?
> > La mia amica ha risposto al quesito.
> > Ha detto. Si!!...
> > È lei è una fonte a cui credo ciecamente.Ne ha visti tanti, tanti.
> > Ora guarda solo i ragazzi di colore.
> >
> > A me ultimamente garbano i coreani.
> > Sarà vero che gli asiatici hanno il pipino piccolo??
> >
>
> E' vero si, ma a riposo, i bianchi ce l'hanno mediamente più lungo quando è eretto. Gli uomini asiatici ce l'hanno piccolo ma per loro va bene così, infatti le donne asiatiche ce l'hanno stretta.
Quando lo pubblicherai l'articolo su lancet?
> Scritto da: Mitzky
> > È vero o è una leggenda?
> > La mia amica ha risposto al quesito.
> > Ha detto. Si!!...
> > È lei è una fonte a cui credo ciecamente.Ne ha visti tanti, tanti.
> > Ora guarda solo i ragazzi di colore.
> >
> > A me ultimamente garbano i coreani.
> > Sarà vero che gli asiatici hanno il pipino piccolo??
> >
>
> E' vero si, ma a riposo, i bianchi ce l'hanno mediamente più lungo quando è eretto. Gli uomini asiatici ce l'hanno piccolo ma per loro va bene così, infatti le donne asiatiche ce l'hanno stretta.
Quando lo pubblicherai l'articolo su lancet?
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-02 09:23:59.0 alle 2014-11-02 09:23:59.0
Trollate totali: 18184
Scritto da: altg
> > Il codice di strlen e` questo: http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/lib...
>
> p.s. comunque la tattica per trovare il terminatore confrontando 4 byte per volta e` carina, non la sapevo e ora la importo in text::FromByteString. Intanto, pero`, volevo farti notare che L.in.oleum, allineando tutto a word del processore, nel fare la stessa cosa per poter sfruttare confronti su 4 byte per volta, puo` saltare questo:
>
>
>
> Sei ancora convinto che tutti questi vantaggi non ci siano?
Si`, perche' se devo gestire una stringa che non e` 4-allineata non solo mi devo scrivere l'equivalente di quel codice ma lo devo fare usanto shift e bitmask.
> > Il codice di strlen e` questo: http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/lib...

>
> p.s. comunque la tattica per trovare il terminatore confrontando 4 byte per volta e` carina, non la sapevo e ora la importo in text::FromByteString. Intanto, pero`, volevo farti notare che L.in.oleum, allineando tutto a word del processore, nel fare la stessa cosa per poter sfruttare confronti su 4 byte per volta, puo` saltare questo:
>
>
> /* Handle the first few characters by reading one character at a time. > Do this until CHAR_PTR is aligned on a longword boundary. */ > for (char_ptr = str; ((unsigned long int) char_ptr > & (sizeof (longword) - 1)) != 0; > ++char_ptr) > if (*char_ptr == '\0') > return char_ptr - str; >
>
> Sei ancora convinto che tutti questi vantaggi non ci siano?
Si`, perche' se devo gestire una stringa che non e` 4-allineata non solo mi devo scrivere l'equivalente di quel codice ma lo devo fare usanto shift e bitmask.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-02 09:16:47.0 alle 2014-11-02 09:16:47.0
Trollate totali: 18184
Scritto da: altg
> > > Comunque mi piace il nuovo schema:
> > > - p significa il registro p
> > > - P significa [p], indiretto con base p e spiazzamento zero
> > > - p.1 significa [p+1]
> > > - p.-1 significa [p-1]
> > > - p.1.1 significa [p+1+1] cioe` [p+2]
> > > - eccetera...
> >
> > Un capolavoro di inconsistenza.
>
> Perche` la vedi come un'espressione in generale: e` un'indirezione ed e` composta da un registro e un'espressione il cui valore e` lo spiazzamento. In altre parole, non avrebbe senso scrivere:
>
> p/5+1
>
> Il punto serve a separare due cose diverse e secondo me rende piu` chiaro cosa si puo` scrivere dall'una e dall'altra parte, cosi` come la darebbe un registro fuori dalle quadre nella sintassi intel:
>
> edx [1+1]
>
> Comunque potrebbe non essere una cattiva idea quella di ricondurla a un'espressione normale, per poi emettere un errore se l'operatore che segue un registro non e` compatibile con un'indirezione, cioe` permettere p+1 ma lamentarsi per p/5. Che ne dici?
Dico che sarebbe meglio visto che la sintassi intel funziona cosi` da sempre. Ci metterei anche delle parentesi quadre attorno.
>
> > > > Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
> > >
> > > Be', se ci sono sequenze non allineate e vengono lette una volta sola, non ci sarebbe altro modo che contorcersi un po'. Riconosco che e` uno svantaggio, ma del resto indirizzare la memoria in unita` piuttosto che in bytes ha molti altri vantaggi.
> >
> > usi "allineato" in modo non-standard, una stringa di byte e` allineata a qualunque indirizzo, un in16 e` allineato a qualunque indirizzo divisibile per 2, &c.
>
> Parlando di come funziona L.in.oleum, presuppongo che "allineato" significhi a una parola del processore.
Allineato nel mondo normale significa che l'indirizzo e` un multiplo della dimensione.
>
> > Tutti questi vantaggi dell'indirizzare la memoria solo a multipli di 4 io non ce li vedo, il fatto che non io non conosca un assembly che ti obbliga a farlo e che il C allinei le strutture come le allinea mi suggerisce che questi supposti vantaggi non esistano.
>
> Intanto il codice che hai postato legge 4 bytes (una "unita`") per volta e "si contorce" per estrarre dal valore composto di 4 byte il primo byte a zero? Se come dicevi "dovesse essere leggibile", leggerebbe byte per byte.
Il codice che ho postato io non e` fatto per essere leggibile, e` fatto per essere veloce. E non e` solo per via dell'allineamento ma anche perche' e` bit-parallelo. Se dopo aver fatto il tuo bel load allineato ti devi andare a pescare i singoli byte a botte di shr e and e` molto piu` veloce e leggibile fare una lettura non allineata.
> ARM era stata pensata per avere tutte istruzioni di una word (32 bit) per semplificare la decodifica e il fetching.
http://infocenter.arm.com/help/index.jsp?topic=/co...
LDRB e SDRB ci sono sempre stati.
> tre istruzioni in croce. Ok, ci saranno i ritardi di cache 4 volte piu` spesso che se la stringa fosse fatta di bytes,
Hai detto niente!
> > Quindi secondo te il fatto che le istruzioni di jump siano piu` lunghe di qualche byte rispetto a quanto potrebbero essere e` piu` importante del fatto che tutte le stringhe siano 4 volte piu` lunghe di quanto potrebbero essere?
>
> La localita` del codice e` almeno altrettanto importante, ma probabilmente di piu`: quella si applica a tutto il codice, le stringhe di testo a 8 bit sono casi particolari. E` un difetto del compilatore abbozzato attuale, ma mi prometto di risolverlo in seguito.
Secondo te cosa prende piu` spazio? Il codice o i dati?
Secondo me a te piace il fatto che hai un solo tipo di dato perche' semplifica il tuo codice e lo giustifichi con l'efficienza ma e` solo una razionalizzazione a posteriori che scarti tutte le volte che non ti fa comodo per giustificare la tua semplificazione.
> > > Comunque mi piace il nuovo schema:
> > > - p significa il registro p
> > > - P significa [p], indiretto con base p e spiazzamento zero
> > > - p.1 significa [p+1]
> > > - p.-1 significa [p-1]
> > > - p.1.1 significa [p+1+1] cioe` [p+2]
> > > - eccetera...
> >
> > Un capolavoro di inconsistenza.
>
> Perche` la vedi come un'espressione in generale: e` un'indirezione ed e` composta da un registro e un'espressione il cui valore e` lo spiazzamento. In altre parole, non avrebbe senso scrivere:
>
> p/5+1
>
> Il punto serve a separare due cose diverse e secondo me rende piu` chiaro cosa si puo` scrivere dall'una e dall'altra parte, cosi` come la darebbe un registro fuori dalle quadre nella sintassi intel:
>
> edx [1+1]
>
> Comunque potrebbe non essere una cattiva idea quella di ricondurla a un'espressione normale, per poi emettere un errore se l'operatore che segue un registro non e` compatibile con un'indirezione, cioe` permettere p+1 ma lamentarsi per p/5. Che ne dici?
Dico che sarebbe meglio visto che la sintassi intel funziona cosi` da sempre. Ci metterei anche delle parentesi quadre attorno.
>
> > > > Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
> > >
> > > Be', se ci sono sequenze non allineate e vengono lette una volta sola, non ci sarebbe altro modo che contorcersi un po'. Riconosco che e` uno svantaggio, ma del resto indirizzare la memoria in unita` piuttosto che in bytes ha molti altri vantaggi.
> >
> > usi "allineato" in modo non-standard, una stringa di byte e` allineata a qualunque indirizzo, un in16 e` allineato a qualunque indirizzo divisibile per 2, &c.
>
> Parlando di come funziona L.in.oleum, presuppongo che "allineato" significhi a una parola del processore.
Allineato nel mondo normale significa che l'indirizzo e` un multiplo della dimensione.
>
> > Tutti questi vantaggi dell'indirizzare la memoria solo a multipli di 4 io non ce li vedo, il fatto che non io non conosca un assembly che ti obbliga a farlo e che il C allinei le strutture come le allinea mi suggerisce che questi supposti vantaggi non esistano.
>
> Intanto il codice che hai postato legge 4 bytes (una "unita`") per volta e "si contorce" per estrarre dal valore composto di 4 byte il primo byte a zero? Se come dicevi "dovesse essere leggibile", leggerebbe byte per byte.
Il codice che ho postato io non e` fatto per essere leggibile, e` fatto per essere veloce. E non e` solo per via dell'allineamento ma anche perche' e` bit-parallelo. Se dopo aver fatto il tuo bel load allineato ti devi andare a pescare i singoli byte a botte di shr e and e` molto piu` veloce e leggibile fare una lettura non allineata.
> ARM era stata pensata per avere tutte istruzioni di una word (32 bit) per semplificare la decodifica e il fetching.
http://infocenter.arm.com/help/index.jsp?topic=/co...

LDRB e SDRB ci sono sempre stati.
> tre istruzioni in croce. Ok, ci saranno i ritardi di cache 4 volte piu` spesso che se la stringa fosse fatta di bytes,
Hai detto niente!
> > Quindi secondo te il fatto che le istruzioni di jump siano piu` lunghe di qualche byte rispetto a quanto potrebbero essere e` piu` importante del fatto che tutte le stringhe siano 4 volte piu` lunghe di quanto potrebbero essere?
>
> La localita` del codice e` almeno altrettanto importante, ma probabilmente di piu`: quella si applica a tutto il codice, le stringhe di testo a 8 bit sono casi particolari. E` un difetto del compilatore abbozzato attuale, ma mi prometto di risolverlo in seguito.
Secondo te cosa prende piu` spazio? Il codice o i dati?
Secondo me a te piace il fatto che hai un solo tipo di dato perche' semplifica il tuo codice e lo giustifichi con l'efficienza ma e` solo una razionalizzazione a posteriori che scarti tutte le volte che non ti fa comodo per giustificare la tua semplificazione.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-11-01 08:02:55.0 alle 2014-11-01 08:02:55.0
Trollate totali: 18184
Scritto da: altg
> Comunque mi piace il nuovo schema:
> - p significa il registro p
> - P significa [p], indiretto con base p e spiazzamento zero
> - p.1 significa [p+1]
> - p.-1 significa [p-1]
> - p.1.1 significa [p+1+1] cioe` [p+2]
> - eccetera...
Un capolavoro di inconsistenza.
> > Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
>
> Be', se ci sono sequenze non allineate e vengono lette una volta sola, non ci sarebbe altro modo che contorcersi un po'. Riconosco che e` uno svantaggio, ma del resto indirizzare la memoria in unita` piuttosto che in bytes ha molti altri vantaggi.
usi "allineato" in modo non-standard, una stringa di byte e` allineata a qualunque indirizzo, un in16 e` allineato a qualunque indirizzo divisibile per 2, &c. Tutti questi vantaggi dell'indirizzare la memoria solo a multipli di 4 io non ce li vedo, il fatto che non io non conosca un assembly che ti obbliga a farlo e che il C allinei le strutture come le allinea mi suggerisce che questi supposti vantaggi non esistano.
> > Con "ammazzano" intendevo che se lo fai ti becchi un SIGBUS, AFAIK in amd64 ottieni un degradamento delle prestazioni e basta. BTW in ARM esistono anche LDRB/LDRH/STRB/STRH.
>
> Poi dici che non t'interessa l'assembly.
Le architetture rilevanti saranno si e no una decina, non c'e` bisogno di essere interessati per avere una vaga familiarita`.
> >
> >
> > a occhio mi sembra parecchio piu` efficiente.
>
> A occhio non ci ho capito una minchia.
>
> La prima sequenza fino al "je", esclusa la prima istruzione, e` un ciclo che rileva byte posti a zero in un buffer che comincia a rsp (suppongo sia qualcosa di locale sullo stack), poi c'e` qualcos'altro che include delle mov predicate ma che mi sembra incompleto: da nessuna parte si direbbero presenti delle istruzioni di write-back. Legge soltanto? Si puo` avere il sorgente che ha prodotto quel frammento?
Certo:

Il codice di strlen e` questo: http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/lib...
Il loop e` una ricerca per il primo int32 contenente un byte a 0.
La seconda parte e` un po' intricata ma con un po' di pazienza si capisce:
- edx e` l'indirizzo del primo int32 dopo il primo int32 contenente un byte a 0 nella stringa
- ebx contiene l'indirizzo della stringa (come anche rsp)
- le istruzioni main+71, main+76 e main+116 sono irrilevanti, servono per configurare printf
- il test a main+84 e le due successive cmove serve a decidere se il primo byte a 0 sta nei primi 2 byte o negli ultimi 2 byte
- l'istruzione main+102 e` dove edx viene aggiustato per puntare esattamente all'ultimo byte
- l'istruzione main+108 e` dove edx diventa la lunghezza della stringa.
>
> Vero. A dirla tutta, per ora il fatto che il compilatore funzioni a passo singolo e non usi salti corti espande anche il codice riducendone la localita`, cosa che mi secca parecchio di piu` dei dati. Certo, sono svantaggi che posso tenere presenti, ma se non voglio inserire istruzioni che accedano ai singoli bytes, non ho alternative. Per il compilatore, prima o poi magari gli faro` fare un passo aggiuntivo per scorciare i salti.
Quindi secondo te il fatto che le istruzioni di jump siano piu` lunghe di qualche byte rispetto a quanto potrebbero essere e` piu` importante del fatto che tutte le stringhe siano 4 volte piu` lunghe di quanto potrebbero essere?
> Comunque mi piace il nuovo schema:
> - p significa il registro p
> - P significa [p], indiretto con base p e spiazzamento zero
> - p.1 significa [p+1]
> - p.-1 significa [p-1]
> - p.1.1 significa [p+1+1] cioe` [p+2]
> - eccetera...
Un capolavoro di inconsistenza.
> > Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
>
> Be', se ci sono sequenze non allineate e vengono lette una volta sola, non ci sarebbe altro modo che contorcersi un po'. Riconosco che e` uno svantaggio, ma del resto indirizzare la memoria in unita` piuttosto che in bytes ha molti altri vantaggi.
usi "allineato" in modo non-standard, una stringa di byte e` allineata a qualunque indirizzo, un in16 e` allineato a qualunque indirizzo divisibile per 2, &c. Tutti questi vantaggi dell'indirizzare la memoria solo a multipli di 4 io non ce li vedo, il fatto che non io non conosca un assembly che ti obbliga a farlo e che il C allinei le strutture come le allinea mi suggerisce che questi supposti vantaggi non esistano.
> > Con "ammazzano" intendevo che se lo fai ti becchi un SIGBUS, AFAIK in amd64 ottieni un degradamento delle prestazioni e basta. BTW in ARM esistono anche LDRB/LDRH/STRB/STRH.
>
> Poi dici che non t'interessa l'assembly.

Le architetture rilevanti saranno si e no una decina, non c'e` bisogno di essere interessati per avere una vaga familiarita`.
> >
> > 0x000000000040054b <+43>: mov rdx,rsp > > 0x000000000040054e <+46>: mov ecx,DWORD PTR [rdx] > > 0x0000000000400550 <+48>: add rdx,0x4 > > 0x0000000000400554 <+52>: lea eax,[rcx-0x1010101] > > 0x000000000040055a <+58>: not ecx > > 0x000000000040055c <+60>: and eax,ecx > > 0x000000000040055e <+62>: and eax,0x80808080 > > 0x0000000000400563 <+67>: je 0x40054e <main+46> > > 0x0000000000400565 <+69>: mov ecx,eax > > 0x0000000000400567 <+71>: mov esi,0x400734 > > 0x000000000040056c <+76>: mov edi,0x1 > > 0x0000000000400571 <+81>: shr ecx,0x10 > > 0x0000000000400574 <+84>: test eax,0x8080 > > 0x0000000000400579 <+89>: cmove eax,ecx > > 0x000000000040057c <+92>: lea rcx,[rdx+0x2] > > 0x0000000000400580 <+96>: cmove rdx,rcx > > 0x0000000000400584 <+100>: add al,al > > 0x0000000000400586 <+102>: sbb rdx,0x3 > > 0x000000000040058a <+106>: xor eax,eax > > 0x000000000040058c <+108>: sub rdx,rbx > >
> >
> > a occhio mi sembra parecchio piu` efficiente.
>
> A occhio non ci ho capito una minchia.

>
> La prima sequenza fino al "je", esclusa la prima istruzione, e` un ciclo che rileva byte posti a zero in un buffer che comincia a rsp (suppongo sia qualcosa di locale sullo stack), poi c'e` qualcos'altro che include delle mov predicate ma che mi sembra incompleto: da nessuna parte si direbbero presenti delle istruzioni di write-back. Legge soltanto? Si puo` avere il sorgente che ha prodotto quel frammento?
Certo:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
int i;
char blah[256];
gets(blah);
i = strlen(blah);
printf("%d\n", i);
return 0;
}

Il codice di strlen e` questo: http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/lib...

Il loop e` una ricerca per il primo int32 contenente un byte a 0.
La seconda parte e` un po' intricata ma con un po' di pazienza si capisce:
- edx e` l'indirizzo del primo int32 dopo il primo int32 contenente un byte a 0 nella stringa
- ebx contiene l'indirizzo della stringa (come anche rsp)
- le istruzioni main+71, main+76 e main+116 sono irrilevanti, servono per configurare printf
- il test a main+84 e le due successive cmove serve a decidere se il primo byte a 0 sta nei primi 2 byte o negli ultimi 2 byte
- l'istruzione main+102 e` dove edx viene aggiustato per puntare esattamente all'ultimo byte
- l'istruzione main+108 e` dove edx diventa la lunghezza della stringa.
>
> Vero. A dirla tutta, per ora il fatto che il compilatore funzioni a passo singolo e non usi salti corti espande anche il codice riducendone la localita`, cosa che mi secca parecchio di piu` dei dati. Certo, sono svantaggi che posso tenere presenti, ma se non voglio inserire istruzioni che accedano ai singoli bytes, non ho alternative. Per il compilatore, prima o poi magari gli faro` fare un passo aggiuntivo per scorciare i salti.
Quindi secondo te il fatto che le istruzioni di jump siano piu` lunghe di qualche byte rispetto a quanto potrebbero essere e` piu` importante del fatto che tutte le stringhe siano 4 volte piu` lunghe di quanto potrebbero essere?
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-31 20:51:44.0 alle 2014-10-31 20:51:44.0
Trollate totali: 18184
Scritto da:
> avete mai bevuto altri the oltre al classico the nero
>
> cioè the bianco, rosso, verdone etc?
> avete mai bevuto altri the oltre al classico the nero
>
> cioè the bianco, rosso, verdone etc?
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-31 20:47:14.0 alle 2014-10-31 20:47:14.0
Trollate totali: 18184
Scritto da: altg
> ...di dubbia utilita`, io ne ho trovato uno utile nel gruppo di vitamine B. Ho fatto uno studio a doppio cieco con me stesso (mi sono cecato due volte) e ho verificato che non sembra un effetto placebo. Cioe` no vabbe', intendevo che ho provato a smettere e riprendere, e pare che quando non prendo la pasticca di Be-Total la mattina, verso sera mi deprimo. Al massimo un paio di sere dopo.
>
> L'avevo iniziato a prendere in un momento di debolezza fisica, poi ho notato che mi faceva da antidepressivo e ho continuato. Strano ma vero. Casomai provatelo. Il Be-Total ha la B6, la B12, la B3, quella roba li`, e anche una cosa che si chiama nicotinamide e il cui nome mi fa sospettare che abbia parecchio in comune con la nicotina, anche se non ci capisco un cazzo.
Invece di usufruire delle ottime benzodiazepine che ti sono state prescritte ti perdi dietro alle vitamine.
> ...di dubbia utilita`, io ne ho trovato uno utile nel gruppo di vitamine B. Ho fatto uno studio a doppio cieco con me stesso (mi sono cecato due volte) e ho verificato che non sembra un effetto placebo. Cioe` no vabbe', intendevo che ho provato a smettere e riprendere, e pare che quando non prendo la pasticca di Be-Total la mattina, verso sera mi deprimo. Al massimo un paio di sere dopo.
>
> L'avevo iniziato a prendere in un momento di debolezza fisica, poi ho notato che mi faceva da antidepressivo e ho continuato. Strano ma vero. Casomai provatelo. Il Be-Total ha la B6, la B12, la B3, quella roba li`, e anche una cosa che si chiama nicotinamide e il cui nome mi fa sospettare che abbia parecchio in comune con la nicotina, anche se non ci capisco un cazzo.

Invece di usufruire delle ottime benzodiazepine che ti sono state prescritte ti perdi dietro alle vitamine.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-31 20:30:06.0 alle 2014-10-31 20:30:06.0
Trollate totali: 18184
Scritto da: altg
> > 1. per capire (vagamente) cosa cazzo stai facendo ho dovuto leggere l'output del disassembler che hai postato
>
> Ci contavo: almeno quello aiutera` a familiarizzarsi.
>
> > 2. firstByte e` terminologia ambigua, si chiama most significant byte
>
> Qui si chiama first perche` non c'e` ambiguita` dovuta all'endianness. L'endianness della memoria di lavoro e` sempre big: quello piu` a sinistra e` il primo, poi c'e` il secondo, il terzo, il quarto e, sui processori a 64 bit, quinto sesto settimo e ottavo. Quindi non e` ambiguo definirlo in termini posizionali.
IMHO "first" e` comunque ambiguo, msb no.
>
> > 3. mi pare di capire che se usi il nome di un registro con la lettera maiuscola lo dereferenzi -->
il (tra l'altro chi e` che setta EDI/w?)
>
> Esatto, anche se io la chiamo piu` tradizionalmente indirezione. Dereferenziare e` un termine connesso al C. L'indirezione con spiazzamento zero e` marcata sinteticamente dalla lettera maiuscola.
Ma usare una cosa normale tipo * o [] o ?
> > 4. se la stringa di input non fosse 4-allineata (e non vedo per quale motivo una stringa di byte dovrebbe esserlo) non solo ti fai una marea di accessi disallineati (che ammazzerebbero, ad esempio, un ARM) ma potrebbe anche causare un segfault alla fine
>
> La stringa di input e` per forza allineata a una boundary di 4 byte, ovvero di un'unita` per come la definisce L.in.oleum (per distinguerla dal significato tradizionalmente confuso di "word"). L'allineamento e` dovuto al fatto che L.in.oleum in nessun punto permette accessi disallineati (in effetti andrebbe a nozze con gli ARM). Semplicemente non conosce i byte: i byte sono parti interne delle unita`.
Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
>
> > 5. non capisco perche' il codice sia scritto in modo da essere non-efficiente e non-leggibile, se fosse leggibile l'accesso sarebbe fatto byte per byte,
>
> Non puoi, altrimenti hai i disallineamenti e problemi di endianness di cui sopra. L.in.oleum sacrifica l'accesso byte per byte per evitare questo genere di problemi, che lo renderebbero irrimediabilmente non portabile (se cambiasse la endianness il sorgente sarebbe da buttare). E poi gli accessi disallineati non ammazzano solo gli ARM, ammazzano anche gli Intel superscalari dal Pentium in poi, che ormai sono CISC di nome, ma di fatto funzionano meglio se li si usa in modo molto simile a un RISC.
Con "ammazzano" intendevo che se lo fai ti becchi un SIGBUS, AFAIK in amd64 ottieni un degradamento delle prestazioni e basta. BTW in ARM esistono anche LDRB/LDRH/STRB/STRH.
>
> > se fosse efficiente il loop con gli shift sulla maschera sarebbe parzialmente srotolato (e a naso mi sa che ci sono modi piu` efficienti di manipolare stringhe su x86)
>
> Intrinsecamente piu` efficienti, penso di no. Se stai pensando a cazzate come rep scasb stai pensando a roba dei tempi del 386, gia` il 486 avrebbe arrancato meno con cicli estesi. Per lo srotolamento, rendo atto che sarebbe un po' piu` efficiente, ma considera che le librerie di quel gruppo sono ottimizzate piu` per compattezza che per velocita`.
Questo e` il modo in cui viene implemento da gcc:
a occhio mi sembra parecchio piu` efficiente.
>
> > 6. per quale motivo i caratteri delle tue stringhe sono di 32bit quando non supporti unicode? Anche se in un futuro dovessi supportare unicode, per quale motivo scegliere l'encoding massimamente inefficiente come default?
>
> Perche` i processori sono piu` veloci nel manipolare dati di dimensione pari alla loro word,
I processori sono anche piu` veloci a manipolare cose che stanno nella cache e moltiplicare per 4 la dimensione di tutte le stringhe non aiuta.
> perche` essendo che L.in.oleum manipola bytes solo come parti di una word mantenerle in memoria a una unita` per carattere e` infinitamente piu` comodo ed efficiente, e perche` se le volessi codificare scriverei una routine apposita prima di scaricarle da qualche parte.
>
> Figurati che se fosse compilato su un processore a 64 bit, ogni carattere prenderebbe 64 bit, una specie di inesistente UCS-8. Ma non e` appunto un fatto di avere piu` code points, e` proprio un fatto di allineamento puro e semplice. Non esistono bytes in L.in.oleum, dai tempi della prima versione, ne` possono esistere.
Mi sembra una follia.
> > 1. per capire (vagamente) cosa cazzo stai facendo ho dovuto leggere l'output del disassembler che hai postato
>
> Ci contavo: almeno quello aiutera` a familiarizzarsi.
>
> > 2. firstByte e` terminologia ambigua, si chiama most significant byte
>
> Qui si chiama first perche` non c'e` ambiguita` dovuta all'endianness. L'endianness della memoria di lavoro e` sempre big: quello piu` a sinistra e` il primo, poi c'e` il secondo, il terzo, il quarto e, sui processori a 64 bit, quinto sesto settimo e ottavo. Quindi non e` ambiguo definirlo in termini posizionali.
IMHO "first" e` comunque ambiguo, msb no.
>
> > 3. mi pare di capire che se usi il nome di un registro con la lettera maiuscola lo dereferenzi -->
il (tra l'altro chi e` che setta EDI/w?)>
> Esatto, anche se io la chiamo piu` tradizionalmente indirezione. Dereferenziare e` un termine connesso al C. L'indirezione con spiazzamento zero e` marcata sinteticamente dalla lettera maiuscola.
Ma usare una cosa normale tipo * o [] o ?
> > 4. se la stringa di input non fosse 4-allineata (e non vedo per quale motivo una stringa di byte dovrebbe esserlo) non solo ti fai una marea di accessi disallineati (che ammazzerebbero, ad esempio, un ARM) ma potrebbe anche causare un segfault alla fine
>
> La stringa di input e` per forza allineata a una boundary di 4 byte, ovvero di un'unita` per come la definisce L.in.oleum (per distinguerla dal significato tradizionalmente confuso di "word"). L'allineamento e` dovuto al fatto che L.in.oleum in nessun punto permette accessi disallineati (in effetti andrebbe a nozze con gli ARM). Semplicemente non conosce i byte: i byte sono parti interne delle unita`.
Quindi se uno volesse accedere ad un file mmappato ti ci devi contorcere attorno?
>
> > 5. non capisco perche' il codice sia scritto in modo da essere non-efficiente e non-leggibile, se fosse leggibile l'accesso sarebbe fatto byte per byte,
>
> Non puoi, altrimenti hai i disallineamenti e problemi di endianness di cui sopra. L.in.oleum sacrifica l'accesso byte per byte per evitare questo genere di problemi, che lo renderebbero irrimediabilmente non portabile (se cambiasse la endianness il sorgente sarebbe da buttare). E poi gli accessi disallineati non ammazzano solo gli ARM, ammazzano anche gli Intel superscalari dal Pentium in poi, che ormai sono CISC di nome, ma di fatto funzionano meglio se li si usa in modo molto simile a un RISC.
Con "ammazzano" intendevo che se lo fai ti becchi un SIGBUS, AFAIK in amd64 ottieni un degradamento delle prestazioni e basta. BTW in ARM esistono anche LDRB/LDRH/STRB/STRH.
>
> > se fosse efficiente il loop con gli shift sulla maschera sarebbe parzialmente srotolato (e a naso mi sa che ci sono modi piu` efficienti di manipolare stringhe su x86)
>
> Intrinsecamente piu` efficienti, penso di no. Se stai pensando a cazzate come rep scasb stai pensando a roba dei tempi del 386, gia` il 486 avrebbe arrancato meno con cicli estesi. Per lo srotolamento, rendo atto che sarebbe un po' piu` efficiente, ma considera che le librerie di quel gruppo sono ottimizzate piu` per compattezza che per velocita`.
Questo e` il modo in cui viene implemento da gcc:
0x000000000040054b <+43>: mov rdx,rsp 0x000000000040054e <+46>: mov ecx,DWORD PTR [rdx] 0x0000000000400550 <+48>: add rdx,0x4 0x0000000000400554 <+52>: lea eax,[rcx-0x1010101] 0x000000000040055a <+58>: not ecx 0x000000000040055c <+60>: and eax,ecx 0x000000000040055e <+62>: and eax,0x80808080 0x0000000000400563 <+67>: je 0x40054e <main+46> 0x0000000000400565 <+69>: mov ecx,eax 0x0000000000400567 <+71>: mov esi,0x400734 0x000000000040056c <+76>: mov edi,0x1 0x0000000000400571 <+81>: shr ecx,0x10 0x0000000000400574 <+84>: test eax,0x8080 0x0000000000400579 <+89>: cmove eax,ecx 0x000000000040057c <+92>: lea rcx,[rdx+0x2] 0x0000000000400580 <+96>: cmove rdx,rcx 0x0000000000400584 <+100>: add al,al 0x0000000000400586 <+102>: sbb rdx,0x3 0x000000000040058a <+106>: xor eax,eax 0x000000000040058c <+108>: sub rdx,rbx
a occhio mi sembra parecchio piu` efficiente.
>
> > 6. per quale motivo i caratteri delle tue stringhe sono di 32bit quando non supporti unicode? Anche se in un futuro dovessi supportare unicode, per quale motivo scegliere l'encoding massimamente inefficiente come default?
>
> Perche` i processori sono piu` veloci nel manipolare dati di dimensione pari alla loro word,
I processori sono anche piu` veloci a manipolare cose che stanno nella cache e moltiplicare per 4 la dimensione di tutte le stringhe non aiuta.
> perche` essendo che L.in.oleum manipola bytes solo come parti di una word mantenerle in memoria a una unita` per carattere e` infinitamente piu` comodo ed efficiente, e perche` se le volessi codificare scriverei una routine apposita prima di scaricarle da qualche parte.
>
> Figurati che se fosse compilato su un processore a 64 bit, ogni carattere prenderebbe 64 bit, una specie di inesistente UCS-8. Ma non e` appunto un fatto di avere piu` code points, e` proprio un fatto di allineamento puro e semplice. Non esistono bytes in L.in.oleum, dai tempi della prima versione, ne` possono esistere.
Mi sembra una follia.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-31 14:31:49.0 alle 2014-10-31 14:31:49.0
Trollate totali: 18184
Scritto da:
> Scritto da: The Lich
> > Scritto da: Mitzky
> > > E ' un bravo ragazzo di 25 anni, salutista, sportivo e gentile.
> > > Gli devo scrivere gli SMS per dirgli se torno tardi, se torno a dormire. È come avere una mamma apprensiva.
> > > Ieri sera son tornata presto con una pizza.
> > > Ha smesso di vedere il film che guardava e mi ha fatto compagnia mentre mangiavo. Lui mi guardava e non ha voluto mangiare. Era di un fastidio, ma si vede che si sente solo.
> > >
> > > Non so di cosa parlargli...è così innocente e noioso. Sensibile..soffre perché la ragazza lo caga poco e lo bistratta.
> > > Ho provato a far la sorella maggiore... non sono brava.
> > >
> > > E mi comporto da stronza. La mattina fuggo presto e la sera trovo scuse per arrivare tardi a casa e trovarlo già a nanna.
> > > Ma forse dovrei essere più gentile e passare tempo con lui, che ne so cenare assieme la sera, o far colazione la mattina.
> > > :-( consigli??
> > >
> >
> > quanto si sta bene isolati in una bella cripta confortevole
>
> Ormai sei un socialone che va in palestra, ti manca solo il corso di ballo.
>
quoto
> Scritto da: The Lich
> > Scritto da: Mitzky
> > > E ' un bravo ragazzo di 25 anni, salutista, sportivo e gentile.
> > > Gli devo scrivere gli SMS per dirgli se torno tardi, se torno a dormire. È come avere una mamma apprensiva.
> > > Ieri sera son tornata presto con una pizza.
> > > Ha smesso di vedere il film che guardava e mi ha fatto compagnia mentre mangiavo. Lui mi guardava e non ha voluto mangiare. Era di un fastidio, ma si vede che si sente solo.
> > >
> > > Non so di cosa parlargli...è così innocente e noioso. Sensibile..soffre perché la ragazza lo caga poco e lo bistratta.
> > > Ho provato a far la sorella maggiore... non sono brava.
> > >
> > > E mi comporto da stronza. La mattina fuggo presto e la sera trovo scuse per arrivare tardi a casa e trovarlo già a nanna.
> > > Ma forse dovrei essere più gentile e passare tempo con lui, che ne so cenare assieme la sera, o far colazione la mattina.
> > > :-( consigli??
> > >
> >
> > quanto si sta bene isolati in una bella cripta confortevole

>
> Ormai sei un socialone che va in palestra, ti manca solo il corso di ballo.
>
quoto
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Black Woman Destroys White Privilege Myth
Ad
https://www.youtube.com/watch?v=pbccGbPKwok
Femmina nera onesta ci spiega il concetto del "white privilege"
Scritto da
avvelentani
Cubicolario
il 2014-10-31 10:59:45.0 alle 2014-10-31 10:59:45.0
Trollate totali: 18184
Scritto da: Mitzky
> È normale avere sul comodino vicino al letto... un coltellaccio??
>
>
No.
> È normale avere sul comodino vicino al letto... un coltellaccio??
>
>
No.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-30 21:27:42.0 alle 2014-10-30 21:27:42.0
Trollate totali: 18184
Scritto da:
> > "E' una lettera che sta ai fatti: l'Italia ha chiesto più tempo per un motivo molto semplice. C'è una fase eccezionale di recessione e di regressione e in casi eccezionali di congiuntura economica si può chiedere alla Commissione di posticipare il pareggio. Il Paese non è sotto esame, noi siamo i fondatori dell'Europa, non degli scolaretti e c'è un dialogo molto franco con l'Europa".
> >
> > BISOGNA LAVORARE DI PIÙ O CI SBATTONO FUORI DALL'EUROPA !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
> In tal caso lavoriamo di meno.
>
> Mi sono cmunque convinto che le riforme di Renzi avranno ricadute ***estremamente*** positive.
ne dubito.
> > "E' una lettera che sta ai fatti: l'Italia ha chiesto più tempo per un motivo molto semplice. C'è una fase eccezionale di recessione e di regressione e in casi eccezionali di congiuntura economica si può chiedere alla Commissione di posticipare il pareggio. Il Paese non è sotto esame, noi siamo i fondatori dell'Europa, non degli scolaretti e c'è un dialogo molto franco con l'Europa".
> >
> > BISOGNA LAVORARE DI PIÙ O CI SBATTONO FUORI DALL'EUROPA !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
> In tal caso lavoriamo di meno.
>
> Mi sono cmunque convinto che le riforme di Renzi avranno ricadute ***estremamente*** positive.
ne dubito.
I think happiness is love
- Vladimir Putin
- Vladimir Putin
Scritto da
avvelentani
Cubicolario
il 2014-10-30 15:07:46.0 alle 2014-10-30 15:07:46.0
Trollate totali: 18184
Scritto da:
>
http://www.ilgiornale.it/news/cronache/coming-out-... 
>
>
come se non lo sapessero gia` tutti.
>

>
>

come se non lo sapessero gia` tutti.
I think happiness is love
- Vladimir Putin
- Vladimir Putin