Ordine degli spinotti nella stanza di monitoraggio, Resident Evil 2 Remake [Claire B]

Similmente a quanto avviene nella prima parte con Leon, anche con Claire dobbiamo inserire gli spinotti nella stanza di monitoraggio.

Questa volta il messaggio cambia e l’ordine non è lo stesso di prima.

Il messaggio ci dice: “La torre è di fianco al cavallo, ma non di fronte alla regina. Il re non è di fianco alla regina, ma di fronte al cavallo, in fondo. Il cavallo non è dove dovrebbe essere.

La prima cosa da fare quindi è sostituire la posizione del cavallo. Le posizioni da occupare sono le seguenti:

Sulla parete alla nostra sinistra, guardando frontalmente quella centrale, vanno messi regina, alfiere e re. Sulla parete alla nostra destra vanno invece pedone, torre e cavallo.

Vedi articolo

Trovare auto giocattolo in The Division 2

Una delle missioni del Campus (per inciso quella denominata Giocattoli per bambini) richiede di donare un’auto giocattolo. Ma dove trovarla? In 85 ore di gioco non è saltata fuori da se e sembra che uno degli unici posti (sull’unicità non garantisco) dove salta fuori casualmente sia un vicolo poca sopra la Biblioteca memoriale Martin Luther King.

La posizione per la precisione è questa:

In fondo al vicolo, accanto ad un camion, si trova un mobile con cassetti dove è possibile, dopo un po’ di tentativi, trovare l’auto giocattolo.

Una volta recuperata ci si può recare al Campus per completare la missione (gli altri oggetti sono abbastanza comuni e si trovano un po’ ovunque, specialmente nelle case).

Infine riporto l’intera sequenza video per maggiore chiarezza.

Vedi articolo

Come riempire la soluzione diserbante nel laboratorio in Resident Evil 2 Remake

Resident Evil 2 è pieno di questi squisiti rompicapi e questo in particolare fa eco al cosiddetto enigma delle taniche d’acqua, reso famoso dal film Die Hard. Per chi ancora non lo avesse capito stiamo parlando del macchinario per la soluzione diserbante nel Drug Testing Lab, all’interno del laboratorio sotterraneo dell’Umbrella.

Questo qui insomma. La soluzione all’enigma è semplicissima, esattamente come quella del suddetto indovinello. In pratica bisogna fare nel modo seguente:

Alla partenza siamo in questa situazione. Vediamo che la differenza che c’è tra la soluzione verde e la linea rossa nel primo contenitore è la medesima che c’è tra l’intero primo contenitore ed il secondo. Essendo il liquido sufficiente a riempire tutto il primo contenitore se lo svuotassimo nel secondo contenitore, all’interno del primo resterebbe la quantità che cerchiamo. Notiamo subito che la metà del primo contenitore, piena di liquido per altro, è identica al terzo contenitore. Appurato tutto ciò scambiamo il primo con il secondo e premiamo il tasto verde. Dovremmo ottenere questo:

A questo punto nel secondo contenitore avanza giusto il liquido che c’è tra la linea rossa e la cima. Adesso disponiamo i contenitori nel modo seguente:

E riempiamo il primo contenitore in modo da ottenere questo:

Adesso non ci rimane che spostare al primo posto il terzo contenitore, ed il primo contenitore al secondo posto e poi procedere. La situazione prima di concludere dovrebbe essere questa:

Una volta riversato il liquido dal secondo nel primo avremo finito.

Vedi articolo

Ordine degli spinotti nella stanza di monitoraggio, Resident Evil 2 Remake [Leon A]

Una volta recuperati gli sei spinotti con le figure degli scacchi, ci si dovrà recare nella Stanza di monitoraggio per azionare il circuito elettrico e aprire la porta.

Sulla parete centrale c’è una bacheca con degli appunti, dove si troveranno gli indizi su come posizionare gli spinotti.

L’appunto recita “Se non sbaglio la torre e il cavallo sono sullo stesso muro, e l’alfiere e la regina non sono l’uno accanto all’altro. La regina e la torre, invece, sono ai lati opposti.

Questo indizio ci porta ad un’unica scelta possibile (bisognerà estrarre il cavallo dalla posizione attuale e spostarlo), che è la seguente, sulle due pareti:

Sulla parete alla nostra sinistra, guardando frontalmente quella centrale, vanno messi alfiere, torre e cavallo. Sulla parete alla nostra destra vanno invece pedone, regina e re.

Vedi articolo

[mysql] Creare una funzione che converta un codice hex RGB di CSS in valori HSV

Oggi propongo una piccola soluzione in SQL al problema dell’ordinamento dei colori. Una cosa apparentemente elementare si rivela in realtà estremamente complessa. Per un approfondimento generale sul tema consiglio questo interessantissimo articolo: The incredibly challenging task of sorting colours

Per quello che mi interessa voglio proporre oggi la soluzione dell’utilizzo dello spazio HSV per poterli ordinare.

Supponiamo di avere un database di colori in RGB formato esadecimale del CSS (per intendersi il rosso sarebbe #ff0000). Nell’esempio riportato suppongo che il codice di colore sia sempre a 6 caratteri.

Detto tutto questo andiamo alla nostra funzione in SQL:

Per utilizzarla possiamo fare così:

Vedi articolo

[risolto] UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe9 in position 0: ordinal not in range(128)

Questo genere di errore avviene in Python quando si cercano di convertire le stringhe da Unicode (UTF-8) in ASCII. Questo avviene più spesso di quanto non si creda, dal momento che le stringhe di testo sono tutte gestite come ASCII e il meccanismo che si occupa della conversione, paradossalmente, può gestire unicamente caratteri ASCII.

Per un approfondimento tecnico consiglio la lettura di questo articolo: Overcoming frustration: Correctly using unicode in python2

In questo caso voglio trattare l’esempio di errore che si ha utilizzando il seguente codice:

L’errore restituito è il seguente:

Traceback (most recent call last):
File "C:\Users\utente\Desktop\esempio\errore.py", line 4, in <module>
print ";".join(prova)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)

In particolare il problema si presenta quando si tenta di fare la join sulla lista con un separatore di testo.

Online si trovano numerose soluzioni come per esempio questa (che però non funziona!), ma nessuna che mi abbia davvero soddisfatto:

Il problema di fondo è che le stringhe incriminate, che nel mio esempio ho scritto io, sono lette dal programma da sorgenti esterne sulle quali non ho controllo e fare il debugging di tutti i possibili caratteri (milioni di caratteri come minimo!) è chiaramente alquanto improbabile.

Per aggirare il sistema e poter effettuare comunque la join ho usato quindi una funzione costruita ad hoc nel modo seguente:

A questo punto possiamo testarla nel modo seguente:

Il risultato stampato è il seguente:

é;a;è;;;èòà+;pippo  prova;;ancora

Faccio notare come in questo modo vengano ignorati i caratteri incriminati. Non è una soluzione molto elegante, ma comunque si raggiunge lo scopo di poter “pulire” il testo di origine.

Questo errore potrebbe anche presentarsi in altre forme come:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xc2' in position 0: ordinal not in range(128)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 20: ordinal not in range(128)

E altri.

Vedi articolo

[virtualbox] Errore E_FAIL (0x80004005)

Problema: Risulta impossibile avviare qualunque macchina virtuale e viene mostrato un errore del tipo Errore E_FAIL (0x80004005)

Soluzione: Disinstallare VirtualBox e reinstallarlo da capo

A qualcuno potrà far sorridere che la soluzione sia così drammatica, ma non sembra esserci altro modo. Anche cercando online pare che nessuno abbia trovato un’altra soluzione soddisfacente. Ho anche provato a “riparare” VirtualBox, utilizzando il suo stesso installer, ma la situazione è addirittura peggiorata, dal momento che sono spariti tutti i collegamenti dal menu Start.

A quel punto ho deciso di reinstallare da zero il programma. Per farlo è sufficiente avviare una nuova installazione e scegliere l’opzione Rimuovi.

Dopodiché la rilanciamo per l’installazione pulita. Niente timore per le configurazioni fino a quel momento.

Se disinstalliamo VirtualBox in questo modo, senza fare ulteriori pulizie, e lo reinstalliamo nella medesima posizione, tutte le configurazioni personalizzate dovrebbero essersi salvate.

L’errore si era presentato a seguito di un’interruzione improvvisa di VirtualBox, causata da un fantastico aggiornamento forzato di Windows 10!

Vedi articolo

[mysql] #1093 – Table is specified twice, both as a target for ‘UPDATE’ and as a separate source for data

Questo errore si presenta quando si tenta di aggiornare una tabella prelevando i dati dalla medesima. Per comprendere il problema immaginiamo di avere una tabella come la seguente:

id indirizzo
1 http://indirizzosito.com/?opzione=
2 bianco
3 nero

Adesso supponiamo di volerla modificare in modo tale che il campo indirizzo all’id = 1 venga concatenato come prefisso su tutti gli altri campi indirizzo con id > 1. Quello che vogliamo ottenere è una tabella simile a questa:

id indirizzo
1 http://indirizzosito.com/?opzione=
2 http://indirizzosito.com/?opzione=bianco
3 http://indirizzosito.com/?opzione=nero

Prima di cominciare possiamo generare la tabella di prova con:

Ed inseriamo dentro i dati con:

A questo punto verrebbe spontaneo pensare che si possa utilizzare la seguente query (ATTENZIONE! Questa non funziona!):

Questa query produce però il seguente messaggio di errore:

#1093 – Table ‘t1’ is specified twice, both as a target for ‘UPDATE’ and as a separate source for data

L’errore dipende dal fatto che il database non ci consente di modificare una tabella dalla quale preleviamo contemporaneamente i dati. Possiamo aggirare il problema “ingannando” il database con la seguente modifica:

Faccio notare che a:

Abbiamo sostituito:

In questo modo la tabella viene per prima cosa prelevata e poi utilizzata per i dati dell’UPDATE.

Vedi articolo

Quanta energia consuma un PC in un anno?

Vi siete mai chiesti quanta energia consuma in media un computer all’anno? Chiaramente il consumo dipende sia dall’utilizzo che dalla potenza dell’alimentatore; per essere precisi un classico alimentatore da 450/500W non consuma energia sempre alla massima potenza, ma in base al carico computazionale sulla macchina. Per esempio se si gioca ad un videogioco si consuma più energia che se il computer rimane in stand-by.

Nel mio caso specifico lascio il computer di casa acceso anche quando non lo uso, spesso per compilare programmi o essere semplicemente disponibile da remoto.

In pratica questi sono i dati di un computer che è stato acceso per 365 giorni 24 ore al giorno. Per il calcolo del costo è stato utilizzato un parametro di 0,14 €/kWh.

Chiaramente questo risultato non sarà identico per tutti, ma possiamo dire che in media un computer lasciato acceso tutto il giorno ed utilizzato in modo mediamente intensivo consumi circa 500kWh all’anno, oppure circa 40kWh al mese.

Per confronto di seguito riporto invece i dati di un server Dell PowerEdge T110II (Intel® Xeon® Processor E31270v2, 4C/8T, 3.50GHz, 8M Cache, 69W, Turbo; 16GB Memory (2x8GB) 1600Mhz Dual; 2TB, SATA, 3.5in, 7.2K RPM) che gestisce un dominio con 15 utenti con funzionalità principale di server dati.

Anche in questo caso il server è rimasto acceso per 365 giorni 24 ore al giorno. Il consumo totale è stato di 270,15 kWh.

In pratica giocare ai videogiochi costa più che gestire una piccola rete aziendale! 

Vedi articolo

Civilization VI: Rise and Fall, creare mappa personalizzata

Abbiamo già visto nel precedente articolo come creare una mappa personalizzata in Civilization VI.

Chiunque ci abbia provato avrà notato che la mappa non funziona quando si utilizza l’espansione Rise and Fall

Perché una mappa personalizzata possa funzionare anche nel’espansione è necessario aggiungerla tra le mappe dedicate all’espansione stessa.

Per farlo spostiamoci su: %ProgramFiles%\Steam\steamapps\common\Sid Meier’s Civilization VI\DLC\Expansion1\Config

Ricordo che %ProgramFiles% è la cartella dove installiamo i programmi, se abbiamo spostato Steam su una cartella o partizione diversa dobbiamo sostituire %ProgramFiles% con tale percorso. Sul mio computer, per fare un esempio, il percorso assoluto è: D:\Programmi\Steam\steamapps\common\Sid Meier’s Civilization VI\DLC\Expansion1\Config

Questo perché ho spostato la cartella di Steam su una partizione diversa da quella di avvio C:

A questo punto andiamo a modificare il file Expansion1_StandardMaps.xml 

Nota: A differenza della versione standard, che legge tutti i file XML presenti nella cartella Config, l’espansione non sembrerebbe farlo, quindi dobbiamo modificare uno dei file esistenti e non possiamo aggiungerne uno nuovo nostro.

A questo punto modifichiamo il file nel modo che segue:

Faccio notare che, al file standard, ho aggiunto solamente la riga evidenziata.

Il percorso dove mettiamo il file Mappa Personalizzata.Civ6Map è solo relativamente importante, purché sia leggibile dall’eseguibile del gioco. Suggerisco di metterlo, come ho fatto io, in %ProgramFiles%\Steam\steamapps\common\Sid Meier’s Civilization VI\Base\Assets\Maps\Extra

Fatto tutto possiamo giocare alle nostre mappe anche con la nuova espansione!

Questo è molto realistico in effetti
Vedi articolo