He llegit aquest llibre de pew-pew i el cert és que es manté en la línia del anteriors. Continua més o menys on ho va deixar l'anterior.
[Spoilers] En Grayson segueix fent de les seves i recluta a una vella coneguda la Sgt. Major Fallon. Amb ella van a un planeta on estan els que es van "fugar" quan la Terra estava apunt de ser conquistada pels Lankies. Els polítics covards i les seves families juntament amb moltes naus van anar a parar un planeta molt guay. El Grayson sembra el caos allí, i quan l'estan apunt d'enxampar el coronel Masoud li diu que en realitat el seu objectiu era despistar a les tropes que protegeixen els polítics, mentre uns comandos posen bombes nuclear per tot els planeta. Així obliguen a rendir-se als militars rebels i tornar les naus robades.
Però el Grayson no està gaire content ja que l'han fet servir d'esquer i les ha passat canutes, però a veure que passarà als següents llibres... [/Spoilers]
Els llibre té acció i recordo que hem va agradar. Recomanat per pew-pew.
He llegit el segon llibre de la sèrie i realment millora respecte l'anterior. Menys "picnic" militar, més naus, i un bon nivell de pew-pew.
[Spoilers] Despres d'una cagada dels generals, envien al Andrew Grayson, el prota, a una missió penal, es a dir, com si fos una missió però que en realitat es una forma de posar totes les pomes "podrides" en un mateix lloc i els diuen de muntar guardia a un planeta gelat llunyà.
El cas és que no tenen prou subministraments i el toxo del general que els han assignat els diu de requisar els subministrament dels civils, i aleshores es revolten, ja que no són una força d'ocupació, sino que són l'exercit destinat a protegir els civils.
Això fins que arriben els Lankies, els aliens malvats, carreguen un transport fins amunt i el llencen a velocitats properes a la llum contra el "seed ship", nau colonitzadora dels aliens i aconsegueixen destruir-la. És el primer cop que els humans ho fan. Però el general idiota ha fugit amb el porta naus antic que té. Al final arriba una flota, barreja de naus occidentals (NCA) i orientals (SRA) informant-los que els aliens han arribat al sistema solar i han destruït la colònia de Mart. [/spoilers]
Un llibre curt, ràpid de llegir, amb tòpics, però bé, pew-pew.
He llegit aquest llibre en una estoneta, no és gaire llarg. És el típic llibre militarista, pla, on estan tots els tòpics, armes que prometen molt pew-pew, sergents durs molt durs amb un cor d'or, acrònims i batalletes en mons llunyans contra aliens. Pew-pew. Si ve degust pew-pew doncs endavant, la critica diu que els següents la cosa millora... a veure si és veritat. Per que aquest si no fos pel pew-pew roça el "meh". Sense saber-ho fa temps vaig llegir el llibre 3 d'aquesta sèrie al 2016, Angles of Attack, i aquell estava millor, així que a pel següent.
Agggg, gairebé oblido que hem vist aquesta serie. Així que si he oblidat publicar el post al respecte, molt bona e impressionant no és. És una sèrie "meh", el "meh" és un terme que faig servir per les coses que no són dolentes, però tampoc són bones. Vol dir alguna cosa com que "falta el interes y el entusiasmo". Està ben feta i tal, preparant el personatge que substituirà al Capità America, però li falta punch. Sempre dic que tota peli és tan bona com creïble és el dolent, i els bons, pse, pse, guanyen i tal sempre al final però lo important és el dolent, dolentot. Doncs aquí els dolents ni fu ni fa. Si no hi ha res més, o si hem vist tot el MCU, per completar es pot veure aquesta. Així que, com diuen els guiris, "up to you". No poso ni spoilers (per manca d'interès).
Aquesta peli ha aparegut al disc dur, no se sap com. I l'hem vist a casa. Molt bé.
[Spoilers] A Porto Rosso un poblet de la costa d'Itàlia hi ha "monstres marins". Un dels monstres, en Luca, vol veure mon però els pares no el deixen. Els "monstres" tenen la particularitat que quan es sequen tenen forma humana i quan es mullen tornen a ser "monstres". En Luca coneix a un altra "monstre", en Alberto i decideixen anar amb Vespa a voltar món.
Amb l'Alberto en Luca decideix amagar-se a Porto Rosso per fugir dels seus pares, i allí coneixen a la Giulia, una nena humana, que vol guanyar la cursa popular del poble a l'insuportable "bully" local, que té una Vespa. Si guanyen la cursa podran comprar una Vespa.
I així passen aventuretes, fins que el dia de la cursa plou, es mullen i es descobreix el pastis, però com són bons nens i porten temps allí, els locals del poble els accepten. I passen més coses, però per això millor veure la pel·lícula.[/Spoilers]
M'ha agradat tot de la peli, el guió, els personatges, i l'apartat tècnic també és excel·lent: les pedretes de la platja, l'escuma del mar, les pedres dels murs, tot està molt bé. 100% recomanada.
Fa un temps que tinc un nou PC que m'ha permès, per exemple virtualitzar el portàtil de la feina. Però li vaig posar dos ventiladors de 140mm a la part inferior, quan el lloc es de 3 de 120mm.
El tema no m'acabava de convèncer perque quedava un espai entre els ventiladors i part del gir de les aspes el feina sobre metall, que el que es diu deixar passar aire doncs no. Així que ara que s'acosta l'estiu hem vaig decidir a posar el tres ventiladors de 120mm.
Ja posats que en realitat és un llum que casualment dins té un PC li he posat més il·luminació. Concretament a la part de dalt he posat una tira neonLED igual que la d'abaix.
De moment estic força content amb el nou ordinador. A veure si dura tants anys com l'anterior.
Els meus auriculars han sigut segrestats per la "Superioritat". I amb això de la virtualització del portàtil i que si estàs hores en reunions, doncs els Logitech petitons que tenia no m'agradaven. Així que vaig mirar aquests Asus.
Coses que m'agraden:
Són còmodes. Inclús amb ulleres.
El micròfon es pot desenxufar. Així si no es fa servir es treu i llestos.
El connector USB C es pot enxufar a un telèfon mòbil mitjanament modern i l'audio del telèfon sona pels auriculars.
Les llums van a joc amb les del PC.
Porten un cable que per una banda es USB 2.0 normal i per l'altra USB C femella. Els enxufes allí.
Coses que no m'agraden:
Falten els greus. Ja pots tocar les opcions que vulguis, no hi són. La resposta en freqüència dels ROG Delta S es 20 - 40000 Hz, els Sony que tenia abans es de 3 - 100.000 Hz. I això per mi es mortal. Els aguanto perque té els altres pros, i per matar enemics jugant doncs ja va bé per sentir el pew-pew, però si no els hagues tornat.
Quan per Nadal graven uns vídeos dels nens fent els pastorets i tens que compartir 3.5GB amb persones que tenen pocs coneixements d'informàtica a.k.a usuaris, i el tema pendrive no mola. No mola pel tema pandèmia i per que els usuaris són despistats i els pendrives no tornen.
Donat que tinc un servidor de SFTP a casa i que explicar com instal·lar i configurar un client de SFTP a segons qui doncs li pot donar un yuyu cerebral, o simplement no té temps ni ganes d'aprendre, cal fer algo fàcil de fer servir.
Doncs dit i fet, un programet dummy on hi ha un client de SFTP amb la configuració posada i el que ha de descarregar també. Ah! I com a bonus track donat que els usuaris van per Wifi, ara falla ara no, ara tenen una estona per descarregar, ara paren a descansar... Doncs té la funció "resume" o que continua allà on ho ha deixat.
El codi a continuació, és una aplicació Winforms de tota la vida, el formulari té dos botons, una barra de progrés i un quadre de text.
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Renci.SshNet;
using Renci.SshNet.Common;
using Renci.SshNet.Sftp;
namespace Downloader
{
public partial class frmDownloader : Form
{
bool EnMarxa = false;
public frmDownloader()
{
InitializeComponent();
}
privatedelegatevoid SetLogDelegate(string propertyValue);
publicvoid SetLog(string propertyValue)
{
if (this.InvokeRequired)
{
this.Invoke(new SetLogDelegate(SetLog), propertyValue);
}
else
{
if (txtLog.Text.Length > 10000) txtLog.Text = "";
txtLog.Text += Environment.NewLine + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString() + " - " + propertyValue;
}
}
publicstring ObtenirIP(string host)
{
IPHostEntry hostEntry;
string adreca = "";
hostEntry = Dns.GetHostEntry(host);
if (hostEntry.AddressList.Length > 0)
{
IPAddress ip = hostEntry.AddressList[0];
adreca = ip.ToString();
}
return adreca;
}
privatevoid btnDownload_Click(object sender, EventArgs e)
{
btnDownload.Enabled = false;
string host = @"sftp.elteudomini.aqui";
string username = "posaixo";
string password = @"aixoaltra";
string carpetaLocal;
List<clsCarpeta> CarpetesABaixar = newList<clsCarpeta>();
ConfiguracioABaixar(CarpetesABaixar);
string localDirectoryBase = AppDomain.CurrentDomain.BaseDirectory;
EnMarxa = true;
try
{
SetLog("Intentant conectar: " + host + " - " + ObtenirIP(host));
using (SftpClient client = new SftpClient(host, username, password))
{
try
{
client.Connect();
}
catch (Exception Ex)
{
SetLog("Error conectant: " + Ex.Message);
}
if (!client.IsConnected)
{
SetLog("Client no ha conectat");
return;
}
else
{
SetLog("Conectat OK");
}
foreach (clsCarpeta Carpeta in CarpetesABaixar)
{
carpetaLocal = localDirectoryBase + Carpeta.NomLocal;
if (!Directory.Exists(carpetaLocal))
{
Directory.CreateDirectory(carpetaLocal);
}
foreach (clsFitxer Fitxer in Carpeta.Fitxers)
{
DescarregaFitxer(Fitxer, Carpeta, client);
}
}
}
}
catch(Exception Err)
{
SetLog("ERROR: " + Err.Message);
}
SetLog("Acabat");
btnDownload.Enabled = true;
}
privatevoid DescarregaFitxer(clsFitxer fitxer, clsCarpeta carpeta, SftpClient client)
{
int numIntents = 0;
int maxIntents = 10;
bool retry = false;
float percentatgeFet = 0;
string localDirectory = AppDomain.CurrentDomain.BaseDirectory + carpeta.NomLocal;
string NomSencerFitxerRemot = carpeta.NomRemot + fitxer.Nom;
do
{
bool retrying = retry;
retry = false;
if (!client.Exists(NomSencerFitxerRemot))
{
SetLog("Fitxer remot no trobat: " + NomSencerFitxerRemot);
return;
}
SetLog("Obtenint atributs del fitxer: " + NomSencerFitxerRemot);
SftpFileAttributes atributs = client.GetAttributes(NomSencerFitxerRemot);
long MidaTotal = atributs.Size;
fitxer.Mida = MidaTotal;
SetLog("Mida del fitxer a descarregar: " + MidaTotal);
string destinationFile = Path.Combine(localDirectory, fitxer.Nom);
SetLog("Grabant fitxer a: " + destinationFile);
if (File.Exists(destinationFile))
{
FileInfo infoFitxerLocal = new FileInfo(destinationFile);
if (infoFitxerLocal.Length == fitxer.Mida)
{
SetLog("Fitxer " + fitxer.Nom + " ja descarregat, saltant al següent");
return;
}
else
{
retrying = true;
}
}
try
{
Stream destinationStream;
try
{
if (retrying)
{
SetLog("Continuant descarrega");
destinationStream = new FileStream(destinationFile, FileMode.Append);
}
else
{
SetLog("Descarrega nova de cero");
destinationStream = new FileStream(destinationFile, FileMode.Create);
}
}
catch (Exception Err)
{
SetLog("No s'ha pogut crear el fitxer local: " + destinationFile);
SetLog(Err.Message);
return;
}
using (destinationStream)
using (SftpFileStream sourceStream = client.Open(NomSencerFitxerRemot, FileMode.Open))
{
sourceStream.Seek(destinationStream.Length, SeekOrigin.Begin);
// You can simply use sourceStream.CopyTo(destinationStream) here.// But if you need to monitor download progress,// you have to loop yourself.byte[] buffer = newbyte[81920];
int read;
long total = destinationStream.Length;
while ((read = sourceStream.Read(buffer, 0, buffer.Length)) != 0)
{
destinationStream.Write(buffer, 0, read);
total = total + (long)read;
percentatgeFet = ((float)total / (float)MidaTotal) * 100;
prgBarDescarregat.Value = (int)Math.Truncate(percentatgeFet);
lblProgress.Text = Math.Round(percentatgeFet, 2) + "%";
Application.DoEvents();
if (!EnMarxa)
{
client.Disconnect();
return;
}
}
}
}
catch (SshException ex)
{
SetLog("Error: " + ex.Message);
retry = true;
numIntents++;
SetLog("Reintents: " + numIntents);
if (numIntents > maxIntents)
{
SetLog("Sortint per mases reintents: " + numIntents);
break;
}
}
}
while (retry);
}
privatevoid ConfiguracioABaixar(List<clsCarpeta> carpetesABaixar)
{
clsCarpeta Carpeta;
clsFitxer Fitxer;
Carpeta = new clsCarpeta();
Carpeta.NomLocal = "Harry Potter";
Carpeta.NomRemot = "/Incoming2/Pelis infantils/Harry Potter/";
Fitxer = new clsFitxer();
Fitxer.Nom = "bla bla bla 1.mkv";
Carpeta.Fitxers.Add(Fitxer);
Fitxer = new clsFitxer();
Fitxer.Nom = "Bla bla bla 2.mkv";
Carpeta.Fitxers.Add(Fitxer);
carpetesABaixar.Add(Carpeta);
}
privatevoid btnTancar_Click(object sender, EventArgs e)
{
EnMarxa = false;
Application.Exit();
}
}
}
Algú d'aquesta casa ha volgut veure Stranger Things. No crec que tingui l'edat per veure-la però donada la insistència, que altres essers de la seva edat ja l'havien vist i que seria una marginada, exclosa social i pariah de la societat doncs no ha quedat més remei que veure-la.
A veure, es una barreja dels Goonies, ET i pelis gore. Està ben feta, i a la primera temporada deixa les coses gore a la imaginació de l'espectador. A la segona ensenya cuixa (ja es veu un xic gore), i a la tercera hi ha gent que es derreteix per integrar-se en algo més gran, gore del bo.
Per la resta un sèrie adolescent guay. A mi m'ha agradat, i el més important, no és gaire llarga. Recomanada sense entusiasme.
Porto més d'un any tele-treballant. Amb el portàtil de la feina. Clar, un portàtil que no es mou del lloc no té gaire sentit. A més un portàtil és incòmode per treballar. Per varies raons, per ergonomia (pantalla petita, teclat pse pse, ratolí que no té...) i per falta de potència.
Com usuari el primer que adreces és l'ergonomia, quan veus que la cosa va per llarg enxufes ràpidament un teclat i un ratolí. I si pots també una pantalla. Aleshores, si tens dos ordinadors, un d'escriptori i el portàtil vas enxufant les coses a un o l'altra segons quin vas a fer servir, fins que et canses. Es el moment de fer escriptori remot.
Obres el portàtil per engegar-lo i has configurat el Windows perque no faci cas de que la tapa està tancada. El portàtil té un cable de xarxa (ja cansat de la wifi) i el d'alimentació. I des de l'ordinador gran fas escriptori remot al portàtil, que està com un trepitja papers gegant sobre una taula. Bé, almenys ja no fas el tema d'enxufar i desenxufar monitor, teclat i ratolí. Treballes amb una bona ergonomia, amb bona postura corporal i perifèrics de qualitat. Però segueix el run-run de perque tinc que tenir engegats 2 ordinadors i que tinc un tros de taula, de la meva taula, "okupat". Calia buscar una solució. I és quan vaig decidir virtualitzar el portàtil. Sobretot quan l'ordinador d'escriptori és una mica bèstia.
Primer de tot hem de ser administradors del portàtil, és un punt important.
Es pot fer amb VMWare, però jo he triat Microsoft, el HyperV, i he fet servir el Disk2VHD per convertir el disc físic del portàtil en un fitxer. El VHD és l'extensió de "Virtual Hard Disk" que són els fitxers que fan de disc dur de les màquines virtuals de Microsoft. Cal tenir prou espai al disc del portàtil, o es pot fer servir un disc extern USB, igualment caldrà copiar el fitxer resultant al disc del PC d'escriptori d'alguna manera.
Dit i fet, en el portàtil de la feina va trigar uns 40 minuts i va deixar un fitxer d'uns 100GB. El programa diu que no suporta discs de més de 127GB, igualment penso que si es fa neteja és una mida correcte.
Vaig copiar el fitxer al PC d'escriptori i li vaig crear una màquina virtual. 8 nuclis i 16GB de RAM, la meitat del PC d'escriptori, i el doble que el portàtil. El canvi de velocitat va ser instantani. Ara cal configurar les eines. La VPN va funcionar a la primera, però el Microsoft Teams no. Els PCs tenen un xip de seguretat, el TPM (Trusted Platform Module) on guarden coses, i el Teams guarda coses allí. Cal configurar la màquina virtual amb un TPM virtual i dir-li al Teams que s'oblidi del TPM anterior. Que quedi així, més o menys.
Ara cal fer lo del TPM, escrivim "Credential Manager" al menú inici de Windows...
Ara esborrem les credencials del Teams si hi ha alguna. Cal reiniciar la màquina virtual, i intentar entrar al Teams a veure si li agrada.
Si encara dóna problemes, cal fer un últim pas, que es posar una clau al registre de Windows.
Un cop el Teams i demès família, Office inclòs ja estan domesticats a la nova VM, cal configurar el tema multimèdia. Amb els auriculars amb micròfon per fer les "calls", o trucades, no he tingut problema. Amb la webcam, cal fer algunes cosetes, primer cal tenir una webcam, perquè el portàtil tenia una, però al PC d'escriptori li he tingut que posar. Cal teclejar al menú inici del PC d'escriptori (no el virtual) "Group" i sortirà l'administrador de polítiques de grup. Cal anar a la següent clau i habilitar-la.
Cal reiniciar el PC, altra cop. Si les opcions de configuració no apareixen quan conectem a la VM es poden tornar a fer aparèixer amb la instrucció: vmconnect localhost "nom_màquina_virtual" /edit . En un Powershell executat com administrador. Aleshores surt l'opció de vincular coses USB (USB remote FX) de la màquina host a la VM.
Ha costat de configurar tot plegat, però ara que ja està i tot funciona és un goig poder gaudir d'un bon hardware a la feina, que tot vagi ràpid, i no tenir trastos per sobre la taula que molesten. Yummi yummi!
#14/04/2021 19:38 Hardware Software Autor: Alex Canalda