14/04/2023

How to update Git password in Sourcetree

Updating Git password could leave you locked out from your own repository in Sourcetree, this happens because when the app shows an authentication failed error message, in one of its strange behaviors, it just make you stare at it, without any chance to enter a new password or account.

Same problem happens if you have entered a wrong password and it gets stored, Sourcetree has no mercy, you are f*cked.

To have another chance to enter a new user/pass there a very quick workaround, just delete the wrong credentials from the 2 following files (or delete the whole file if there is just one credential):

C:\Users\YOURWINUSER\AppData\Local\Atlassian\SourceTree\passwd
C:\Users\YOURWINUSER\AppData\Local\Atlassian\SourceTree\userhost

Then go back to Sourcetree and try to git pull/fetch from the previously unreachable repo, a popup window should ask you to authenticate.

29/11/2021

Avoid blurry images when scaling down with CSS

Scaling up images makes them blurry right?

True, but everyone knows that! Problem is that if you scale an image with CSS down, it could become blurry too, and is really annoying.

How to fix it? Just add these rules to the target img

image-rendering: crisp-edges;
image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast;/* Webkit */
-ms-interpolation-mode: nearest-neighbor;

22/02/2021

How to fix Anaconda Navigator not updating

Anaconda Navigator interface is showing the "Upgrade" button, you click it and after confirming...

Nothing happens.

Well, there's another way to upgrade it:

1. Open Anaconda Prompt (Powershell or CMD)

2. Run command: conda update anaconda-navigator --save


Done!

10/09/2020

How to fix Exception while dispatching event org.osgi.service.event.Event [topic=org/eclipse/e4/ui/css/swt/theme/ThemeManager/themeChanged] in Eclipse

 Aprire CMD e spostarsi nella cartella di installazione di Eclipse (per esempio "C:\Users\Nomeutente\eclipse\java-2020-03\eclipse")

Lanciare Eclipse da command prompt con l'opzione clean mediante il comando:

eclipse -clean

11/07/2020

Creare un server NodeJS + Typescript + Express in 5 minuti

Creare un progetto
npm init

Installare Typescript
npm install typescript --save

Aggiungere uno script al file package.json per lanciare le funzioni di Typescript dalla riga di comando
"scripts": {
    "tsc": "tsc"
}

Inizializzare progetto Typescript
npm run tsc -- --init

Abilitare cartella di build nel file tsconfig.json rimuovendo il commento dalla riga:
// "outDir": "./", => "outDir": "./nomecartellabuild"

Installare Express
npm install express --save

Installare types di Express per farlo riconoscere a Typescript
npm install @types/express --save

Creare una cartella "app" nel progetto ed al suo interno creare il un file app.ts con il codice del server:
// lib/app.ts
import express = require('express');
// Create a new express application instance
const app: express.Application = express();
app.get('/', function (req, res) {
  res.send('Hello World!');
});
app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Compilare il progetto
npm run tsc

Lanciare il server
node nomecartellabuild/app.js

Aprire il browser e navigare alla pagina http://localhost:3000 per visualizzare la risposta del server.

26/04/2020

Fix Valorant Beta: Vanguard Anti-Cheat non ha completato l'installazione

Dopo ore ed ore di stream su Twitch riesci ad ottenere un accesso per la beta di Valorant, lo scarichi, lo installi, ma non appena provi a lanciare il gioco ti compare una bella scritta rossa...


Il problema è stato riscontrato da molti, e la causa è il nuovo sistema Vanguard Anti-Cheat, sviluppato da Riot Games per proteggere i giocatori dalla piaga dei cheater, che ha delle policy molto strette riguardo l'ambiente di esecuzione in cui si trova.

Questo si traduce in una miriade di possibili problemi di compatibilità nei vari accoppiamenti tra dispositivi hardware, drivers, aggiornamenti di Windows, configurazioni, ecc...

Step risolutivi:

1. Se si è in possesso di un software Gigabyte (Gigabyte App Center, Aorus Graphics Engine, Xtreme Gaming Engine, RGB Fusion, OC Guru III), va disinstallato come primo test, poichè Vanguard ha una sua blacklist di software dannosi o poco sicuri, ed i prodotti Gigabyte si basano su un driver che è risultato poco sicuro e che quindi in generale non è bene avere.

1a. Il problema potrebbe essere già risolto a questo punto, quindi riavviare il PC e provare ad avviare Valorant, se il problema persiste, continuare con gli step successivi

2. Scaricare una versione precedente di Vanguard da qui ed estrarla sul desktop
3. Aprire "Esegui" premento Tasto Windows + R e digitare msconfig
4. Nella tab "Opzioni di avvio" selezionare "Modalità provvisoria"
5. Cliccare su Applica e poi su OK
6. Verrà chiesto di riavviare il computer, selezionare OK
7. A questo punto il PC verrà riavviato in modalità provvisoria, navigate nella cartella C:\Programmi\Riot Vanguard ed eliminate tutto il suo contenuto
8. Copiate il contenuto della versione scaricata al passo 2 dentro la cartella Riot Vanguard del passo precedente
9. Ripetere gli step 3-4-5-6 per disattivare la modalità provvisoria e riavviare il PC nella modalità normale
10. Entrare nella cartella C:\Programmi\Riot Vanguard e fare click destro su vgc.exe -> Esegui come Amministratore (molto probabilmente uscirà un errore, è previsto)
11. Attendere una quindicina di secondi e poi riavviare il PC
12. Aprire "Esegui" premendo Tasto Windows + R e digitare services.msc
13. Cercare il servizio vgc e controllare se è in esecuzione, se non lo è fare click destro sul suo nome -> Proprietà -> Tipo di Avvio -> Automatico
14. Cliccare su Applica e poi su OK
15. Riavviare il PC
16. Ripetere lo step 12 per controllare se il servizio è in esecuzione (nel caso in cui non lo fosse, controllare che il Tipo di Avvio sia rimasto su Automatico come era stato lasciato)
14. Avviare Valorant, rileverà la versione di Vanguard vecchia e la aggiornerà in autonomia, attendere che l'operazione sia completata e lanciare il gioco.

Se il problema persiste, ho visto che qualcuno ha risolto disabilitando il dispositivo Sonic Studio Virtual Mixer, magari vale la pena provare:

- Click destro sull'icona di Windows -> Gestione Dispositivi
- Controller audio, video e giochi -> Click destro su Sonic Studio Virtual Mixer -> Disabilita Dispositivo
- Riavviare il PC

Good luck!

23/04/2020

How to fix Flickering Skeletal Mesh in Unreal Engine 4

Importing a Skeletal Mesh into UE4 is simple, just a matter of a .fbx drag and drop, but in some cases this simple operation leads to a very annoying problem: mesh flickering in viewport.

It turns out that adding the Skeletal Mesh to a Skeletal Mesh Component inside a Blueprint and checking the "Component Use Fixed Skel Bounds" options fixes the problem!

In some cases checking also "Use Bounds from Master Pose" does help too.


14/02/2020

09/09/2019

Unity texture warp

[ITA]
Lavorando in VR con Unity mi sono imbattuto in un problema di visualizzazione delle texture veramente fastidioso, ebbene le texture nell'editor si vedevano correttamente, mentre non appena la scena veniva renderizzata in un Oculus Quest le texture erano distorte.

[ENG]
Working with Unity VR I've faced a really annoying problem with texture rendering, while they were fine in Unity Editor, as soon as the scene was loaded in my Oculus Quest the texture were all warped and distorted.



Dopo mille prove e ricerche la soluzione per me è stata la seguente:

1. Disattivare Vertex Compression dagli UV (Tex Coord 0-3)
Disable UV Vertex Compression

Disattivare Vertex Compression dagli UV (Tex Coord 0-3)

2. Disattivare Weld Vertices nella sezione Geometry della Mesh importata con cui stavo lavorando.
Disable Weld Vertices in the imported mesh Geometry panel.

05/05/2016

FIX "Problema Sconosciuto con Google Play Service" / "Unknown Issue with Google Play Services"

[ITA]

Se risultasse impossibile accedere a Gmail, Inbox, ecc... a causa di un maledetto "Problema Sconosciuto con Google Play Service" vale la pena provare quanto segue:

  1. Impostazioni.
  2. Gestione App (o App).
  3. Google Play Service.
  4. Gestione Memoria.
  5. Cancella tutti i dati.
  6. Disattiva (Confermare).
  7. Riavviare il telefono.
  8. Aprire qualsiasi app che utilizza Google Play Service.
  9. Verrà chiesto di riattivare Google Play Service, riattivarlo.

[ENG]

If you are locked out from Gmail, Inbox, etc... by a damn "Unknown Issue with Google Play Services" you should  try the following procedure:

  1. Settings.
  2. App Management (o App).
  3. Google Play Service.
  4. Memory Management.
  5. Delete all data.
  6. Disable (Confirm).
  7. Restart the Android smartphone.
  8. Open any app that needs Google Play Service.
  9. You'll be prompted to enable Google Play Service, do it.

12/04/2016

FIX "Cannot connect to the docker daemon. Is the docker daemon running on this host?" + "ERRO[0000] [graphdriver] prior storage driver "aufs" failed: invalid argument"

[ITA]


Docker funzionava correttamente su una macchina sulla quale stavo lavorando, ma dopo un apt-get upgrade qualsiasi comando docker lanciassi ricevevo:
 Cannot connect to the docker daemon. Is the docker daemon running on this host? 

Lanciando docker daemon invece, ricevevo un errore vero e proprio:
 ERRO[0000] [graphdriver] prior storage driver "aufs" failed: invalid argument 

Alla fine è uscito fuori che lanciando apt-get upgrade, il package extra è rimasto fuori, e quel package conteneva aufs!
Il problema si è risolto con il comando:
 apt-get -y install linux-image-extra-$(uname -r) 

In seguito, con un docker start tutto è tornato alla normalità.


[ENG]


Docker was working fine on a dev machine until an apt-get upgrade came in... No matter which docker command I'd launch, it just replied:
 Cannot connect to the docker daemon. Is the docker daemon running on this host? 

Running docker daemon instead, gave me a more detailed error:
 ERRO[0000] [graphdriver] prior storage driver "aufs" failed: invalid argument 

At the end it turned out that apt-get upgrade leaves out the extra package that contains aufs!
Here's our problem solver:
 apt-get -y install linux-image-extra-$(uname -r) 

Next, with a docker start, everything was ok.

29/03/2016

FIX npm: Cannot find module 'cordova-common' when installing Cordova

Dopo aver installato Cordova (Windows 10) mi si è presentato questo errore (lanciando cordova -v per verificare la versione):

Error: Cannot find module 'C:\Users\Username\AppData\Roaming\npm\node_modules\cordova\bin\cordova'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3 

Ho risolto lanciando i seguenti comandi:

 npm uninstall -g cordova 
 npm install cordova@latest 



After installing Cordova (Windows 10) I got this error (issuing cordova -v to check the version):

Error: Cannot find module 'C:\Users\Username\AppData\Roaming\npm\node_modules\cordova\bin\cordova'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3 

The problem has gone after I've issued the following:

 npm uninstall -g cordova 
 npm install cordova@latest 

24/03/2016

FIX CM13: Configurazione Guidata si è bloccata in modo anomalo / Setup Wizard has stopped working

Aggiornando il mio OPO all'ultima versione di Cyanogenmod mi sono imbattuto in un noiosissimo ed insistente errore riguardo la Configurazione Guidata (Setup Wizard) che continuava ad aprire una finestra di errore rendendo il telefono inutilizzabile.

Dopo varie ricerche e tentativi è emerso che l'errore è dovuto ad un problema con i permessi dell'apk della configurazione guidata, per risolverlo bisogna aprire una shell adb e dare il seguente comando:

adb shell pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE

In seguito la finestra d'errore dovrebbe scomparire....



Updating my OPO to the latest CM version I got an extremely annoying error regarding the Setup Wizard that was causing an infinite loop of error window popping on the screen making my phone unusable.

After some googling and re-flash tries, the problem turned out to be related to Setup Wizard apk permissions, to fix it the following command has to be issued to an adb shell:

adb shell pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE

After that the error window should be gone...

26/11/2015

Ricerca di Windows 10 non funzionante

A volte il "Search web and Windows" presente sulla taskbar di Windows 10 fa i capricci, se immettendo qualcosa nel campo di ricerca non esce nessun risultato una prova da effettuare per risolvere il problema è:

1. Aprire task manager (click dx sulla taskbar > Task Manager/Gestione Attività)
2. Nella tab Dettagli click dx su SearchUI.exe > Termina Attività

A questo punto il processo verrà riavviato in automatico da Windows e il problema dovrebbe essere risolto.

17/07/2015

Accedere al proprio sito web tramite IP

Lavorando con gli altri Dynamic Makers ad un progetto di analisi dell'inquinamento dell'aria, ci siamo ritrovati ad avere una dashboard online che riassumeva lo stato di svariati sensori.
Il sistema con i sensori era collegato ad una macchina, mentre la dashboard era ospitata sul nostro sito, connettere i due sistemi richiedeva (per varie ragioni che non mi dilungo a precisare) di utilizzare l'IP del nostro sito e non, banalmente, il suo nome.

In generale, creando un sito web, il servizio di hosting fornisce l'indirizzo IP del sito stesso, ma la cosa che non tutti sanno è che, considerando che gli IP non sono infiniti, è estremamente probabile trovare più siti web con lo stesso IP.
Infatti, provando a connettersi ad un IP di un sito qualsiasi, è molto probabile che ci venga mostrata una pagina di errore 404 (Not Found), questo perchè visitando quell'IP si sta visitando la radice dalla quale si diramano un numero imprecisato di siti web (possono essere 10 come 10000).

Dunque, se per qualche motivo bisogna utilizzare l'indirizzo IP di un sito di cui si ha il controllo, come si fa a trovare il suo indirizzo completo?

Ebbene, ho scoperto poco fa che in molti casi basta appendere un /~nomeutente/ alla fine dell'IP del sito, in modo da avere qualcosa del tipo:
http://10.11.123.123/~nomeutente/

Quel "nomeutente" è il motivo per il quale sopra è specificato "un sito di cui si ha il controllo", poichè bisogna conoscere il nome utente utilizzato in fase di registrazione del sito per potervi accedere direttamente.

16/02/2015

Lista firme digitali microcontrollori ATMEGA

Avendo deciso di fare un test di creazione PCB+programmazione ATMEGA168, ho inevitabilmente letto dei due modi principali di programmare un microcontrollore Atmel:

1. Via un programmatore, che è un elemento hw che fa da ponte tra il PC ed il microcontrollore.
2. Mediante l'utilizzo di un Arduino UNO come programmatore ISP (da quanto ho capito questo metodo è utilizzabile solo per i microcontrollori compatibili con Arduino, quindi, per esempio, OK per l' ATMEGA168 e NON OK per l' ATMEGA168P).

Considerando che diversi package e modelli hanno diverse firme digitali (signature), non è detto che il package/modello utilizzato sia quello configurato nel file avrdude.conf (che nel caso di Arduino è nella cartella Arduino\hardware\tools\avr\etc).

Ecco dunque una lista di tutte le firme digitali dei vari ATMEGA che torna utile per controllare il contenuto del file avrdude.conf con ciò che è riportato nel datasheet:

ATmega1280      1e9703
ATmega1281      1e9704
ATmega1284P     1e9705
ATmega1284      1e9706
ATmega128A      1e9702
ATmega128RFA1   1ea701
ATmega128       1e9702
ATmega162       1e9404
ATmega164A      1e940f
ATmega164PA     1e940a
ATmega164P      1e940a
ATmega165A      1e9410
ATmega165PA     1e9407
ATmega165P      1e9407
ATmega168A      1e9406
ATmega168PA     1e940b
ATmega168P      1e940b
ATmega168       1e9406
ATmega169A      1e9411
ATmega169PA     1e9405
ATmega169P      1e9405
ATmega16A       1e9403
ATmega16HVB     1e940d
ATmega16M1      1e9484
ATmega16U2      1e9489
ATmega16U4      1e9488
ATmega16        1e9403
ATmega2560      1e9801
ATmega2561      1e9802
ATmega324A      1e9515
ATmega324PA     1e9511
ATmega324P      1e9508
ATmega3250A     1e9506
ATmega3250PA    1e950e
ATmega3250P     1e950e
ATmega3250      1e9506
ATmega325A      1e9505
ATmega325PA     1e950d
ATmega325P      1e950d
ATmega325       1e9505
ATmega328P      1e950f
ATmega328       1e9514
ATmega3290A     1e9504
ATmega3290PA    1e950c
ATmega3290P     1e950c
ATmega3290      1e9504
ATmega329A      1e9503
ATmega329PA     1e950b
ATmega329P      1e950b
ATmega329       1e9503
ATmega32A       1e9502
ATmega32C1      1e9586
ATmega32HVB     1e9510
ATmega32M1      1e9584
ATmega32U2      1e958a
ATmega32U4      1e9587
ATmega32        1e9502
ATmega48A       1e9205
ATmega48PA      1e920a
ATmega48P       1e920a
ATmega48        1e9205
ATmega640       1e9608
ATmega644A      1e9609
ATmega644PA     1e960a
ATmega644P      1e960a
ATmega644       1e9609
ATmega6450A     1e9606
ATmega6450P     1e960e
ATmega6450      1e9606
ATmega645A      1e9605
ATmega645P      1e960D
ATmega645       1e9605
ATmega6490A     1e9604
ATmega6490P     1e960C
ATmega6490      1e9604
ATmega649A      1e9603
ATmega649P      1e960b
ATmega649       1e9603
ATmega64A       1e9602
ATmega64C1      1e9686
ATmega64M1      1e9684
ATmega64        1e9602
ATmega8515      1e9306
ATmega8535      1e9308
ATmega88A       1e930a
ATmega88PA      1e930f
ATmega88P       1e930f
ATmega88        1e930a
ATmega8A        1e9307
ATmega8U2       1e9389
ATmega8         1e9307

01/10/2014

Running Android Lint Failed - NullPointerException in Eclipse

Se dovesse sbucare fuori questo fastidioso ed inutile errore in Eclipse, si tratta di un bug, infatti la versione 23.0.2 dell'ADT ha una segnalazione aperta qui.

Aggiornare l'ADT alla 23.0.3 risolve il problema, per farlo basta seguire la seguente procedura:

Aprire Eclipse
Help -> Install new Software
Selezionare "Android Developer Tools Update Site - https://dl.google.com/android/eclipse/" dal menu (Se non è presente, va aggiunto il repository copiando ed incollando il link precedente).
Selezionare Developer Tools
Deselezionare Contact all update sites during install to find required software
Next -> Accettare licenze -> Next
Riavviare Eclipse

30/09/2014

ADB Driver per OnePlus One

Visto che l'emulatore di Android nell' ADT è qualcosa di pietoso, proprio fino a qualche secondo fa stavo impazzendo per far riconoscere al mio PC (Windows 7 64bit) il OnePlus One.

Scartabellando su vari siti, tra cui l'onnipresente XDA-Developers, ho provato a scaricare i driver Samsung come indicato in un post sul forum dell' OPO, ma nada.
In seguito ho provato con i cosiddetti "driver universali adb", che di universale hanno solo il nome, visto che non hanno affatto risolto il problema.

Fino a quando... Trovo una discussione su reddit che mi porta a QUESTO driver.
L'ho installato, ho scollegato l' OPO, killato e riavviato ADB, ricollegato l' OPO, sullo schermo è comparsa la richiesta per il token RSA, ho accettato.... Et voilà!
Ora Eclipse mi consente di lanciare le app di prova direttamente sull' OPO senza essere costretto ad utilizzare l' emulatore... Piccole grandi soddisfazioni.

P.S.
Ho visto che per alcuni hanno funzionato gli altri 2 metodi, quindi se non funziona quello che è andato bene per me, vale la pena provare gli altri due.

21/07/2014

Marijuana VS Cervello. Arbitra la dopamina

Abusare di marijuana frena l'abilità del cervello di rispondere alla dopamina, il neurotrasmettitore responsabile di piacere, motivazione ed appagamento. Il vero effetto del sentirsi "fatti" potrebbe in verità portare a depressione ed ansia, come descritto da uno studio pubblicato su Proceedings of the National Academy of Sciences.

16/07/2014

Chiedi ad un fisico di parlare al tuo funerale

Vuoi che un fisico parli al tuo funerale. Vuoi che un fisico parli alla tua addolorata famiglia riguardo la conservazione dell'energia, in modo che loro capiscano che la tua energia non è morta. Vuoi che il fisico ricordi a tua madre riguardo la prima legge della termodinamica; ossia che nessuna energia nell'universo viene creata, nè distrutta. Vuoi che tua madre sappia che tutta la tua energia, ogni tua vibrazione, ogni BTU di calore, ogni onda di ogni particella che componeva il suo amato figlio rimanga con le lei in questo mondo. Vuoi che il fisico dica al tuo triste padre che tra le energie del cosmo, hai risposto colpo su colpo.

Ad un certo punto, spereresti che il fisico scendesse dall'altare e cammini verso la tua sposa dal cuore infranto e le dica che tutti i fotoni che hanno colpito il tuo viso, tutte le particelle i quali cammini furono interrotti dal tuo sorriso e dal tocco dei tuoi capelli, centinaia di trilioni di particelle, hanno modificato il loro tragitto per te. E mentre la tua vedova si strugge nelle braccia di una famiglia amorevole, possa il fisico farle sapere che tutti i fotoni che hanno rimbalzato su di te sono stati recepiti da quei rilevatori di particelle che lei chiama occhi, che quei fotoni creati all'interno della costellazione dei suoi neuroni elettromagneticamente carichi andranno avanti con la loro energia per sempre.

Il fisico ricorderebbe a tutti i presenti di quanta della nostra energia si manifesti come calore, e proprio in quel momento potrebbero esserci persone che si sventagliano con i libretti della chiesa. Il fisico direbbe loro che il calore che scorreva attraverso di te nella vita è ancora qui, ancora parte di quello che siamo, anche mentre piangiamo continua ad essere nel calore delle nostre vite.

Vorresti che il fisico spieghi a coloro che ti hanno amato che non devono avere bisogno di fede; infatti, non dovrebbero avere fede. Che gli faccia capire che possono misurare, che scienziati hanno misurato precisamente la conservazione dell'energia in maniera accurata, verificabile e consistente attraverso spazio e tempo. Puoi sperare che la tua famiglia capisca l'evidenza e che questa li soddisfi, facendogli capire che la scienza assicura che la tua energia sia ancora in giro. In base alla legge di conservazione dell'energia, neanche un briciolo di te è andato perduto. Sei solo meno ordinato. Amen.

Questo testo è stato tradotto da un articolo su NPR News, consultabile in testo ed audio in lingua originale (inglese) a questo link:
http://adf.ly/qMYCk