Cerca qui le cose strambe

Showing posts with label stramberie. Show all posts
Showing posts with label stramberie. Show all posts

2026-03-26

If you really need to use windows... install gsudo

 Seriously guys... nowadays you have no reason to use windows... but if you are forced... then install gsudo on first login and thank me later

2025-04-24

grep di stdin tenendo l'header

 

A volte puo` essere utile un grep di stdin tenendo l'header

Si definisce in bash (nel .bashrc o simile) una funzione cortissima tipo cosi` =>


hgrep () { read line; echo "$line"; grep $* ; }


ci sono rari casi in cui puo` essere  leggermente pericolosa, ma nel complesso pare accettabile


esempio d'uso:



# lsof   | hgrep  tripwire
COMMAND       PID     TID TASKCMD              USER   FD      TYPE             DEVICE    SIZE/OFF       NODE NAME
tripwire  2285668                              root  cwd       DIR              253,0       36864     524292 /root
tripwire  2285668                              root  rtd       DIR              253,0        4096          2 /
tripwire  2285668                              root  txt       REG              253,0     3140528        594 /usr/sbin/tripwire
tripwire  2285668                              root    4u      REG              253,3    51822592         36 /tmp/twtempUYqaRJ (deleted)
#
# ps aux | hgrep /usr/sbin/tripwire
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     2285668 96.1  1.4 484084 467676 ?       R    14:45  16:33 /usr/sbin/tripwire
#  



2025-04-09

preventing rdp session from being locked with pyautogui

 
I have to work on 2 simultaneous rdp connections on two screens 
and every 5/10 minutes or so one of them got locked (you know: security policies...)

so I ended up with this workaround: a simple infinite-loop python script that 
I can launch in a local cmd shell: 
every minute it simulates a click and an Esc key in both rdp window (and this, in my specific case, cannot cause any harm, but beware: YMMV)


import pyautogui, random, sys  
from tkinter import Tk  
from time import sleep
  
pyautogui.PAUSE = 0.01  
num_times = 0  
while True:  
    num_times += 1  
    print("loop number %d" %  num_times)  
sleep(1) print(".") sleep(1) print(".")
z1, z2 = pyautogui.position() pyautogui.moveTo(-700, 300, duration=0.1) pyautogui.click() sleep((0.4 + random.random()) / 4) pyautogui.hotkey("esc") pyautogui.moveTo(z1, z2, duration=0.1) pyautogui.click() sss = 48.4 + 6.01 * random.random() print("sleeping for %d s " % int(sss)) sleep(sss) print("this statement just marks the script end, but it won't be ever executed")

UPDATED on 2026-03-25
there is a simpler solution using
https://pypi.org/project/wakepy/
=>
from wakepy import keep
from time import sleep

@keep.presenting
def long_running_task():
    while True:
        sleep(60)
        print(datetime.now())

long_running_task()


mp3 not accepted by audacity

 in case you are trying to import an mp3 file with Audacity and it fails with error "incorrect filetype"




you can check it with the file command line tool in cywin/Linux/etc

$ file ./somefile.mp3

./somefile.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo

$

after some googling it turned out that a simple fix is using mp3validate 

https://mp3val.sourceforge.net/

(binaries available for windows/linux/etc)

for Debian/Ubuntu you should be able to use a plain

sudo apt install mp3val in case you do want to proceed with fixing the file without creating  a backup you can simply launch this command: mp3val somefile.mp3 -f -nb and then boom - Audacity will be happy in importing it.

2024-10-30

How to fix chrome crippled fonts

This bug happened to me very rarely (once every 5 or 6 years?), but, for me, being forced to read with crippled fonts in the browser is a big pain in the back
So this is a quick and dirty explanation of how to fix:

  • go to chrome flags
  • disable Accelerated 2D canvas
  • restart the browser

see the image below for further details


2024-10-15

how to fix "sudo su -" when it has become slow in starting

in case someone is wondering why, from time to time, on a linux server the command 

sudo su -

 seems stuck or just much slower than normal in starting..  this may be because  when the command 

 sudo su -

is starting, by default it scans   wtmp to report last login time from user root and, if on such servers there are hundreds of users, last root access entry may be deep in the access list 

 
the quick trick I have found to fix it is to launch first a simple 

sudo bash 

(so a new entry for root is reported at the top of wtmp) and then closing it at once - after that any next 

sudo su - 

returns to be as fast as usual

2022-11-13

video tiktok senza account

 
fare click col destro su vieo  tiktok postato su twitter ottenendo il link "corto"  tipo

https://t.co/pMXctAOMqX


metterlo nella barra e ottenere il link tiktok che chiede il login

https://www.tiktok.com/login?redirect_url=https%3A%2F%2Fwww.tiktok.com%2F%40francescosalvioriginal%2Fvideo%2F7158083958142471429%3F_t%3D8WqltGmy8hR%26_r%3D1&lang=en&enter_method=mandatory


fare pulizia tenendo utente e numero video
sostituendo %40 con "@" e %2F con "/"

arrivando a

https://www.tiktok.com/@francescosalvioriginal/video/7158083958142471429


e poi messo nella barra che appare alla pagina di un downloader online tipo

https://ttdownloader.com/

(mi raccomando usando finestra browser anonima e adblock tipo muBlock origin)

vi arriva una redirezione al video diretto tipo

https://ttdownloader.com/?url=https://www.tiktok.com/@francescosalvioriginal/video/7158083958142471429

e quindi scaricare il video facendoci click col destro

2022-06-10

il cuore della matematica

 


quanto mi piace la matematica anche

perche` funziona




2022-05-06

Accedere alle proprie password su mRemoteNG

Al giorno d'oggi per i sistemisti che lavorano su molte VM
le utility per la gestione agile dei remote desktop sono spesso fondamentali.
Nel mio caso mRemoteNG risolve la maggior parte delle problematiche in maniera eccellente.

Forse l'unico inconveniente incontravo di tanto in tanto era di trovare la password scaduta e dover fornire quella vecchia per mettere quella nuova...
Ma quella vecchia l'avevo affidata criptata al file di configurazione di mRemoteNG proprio per non doverla memorizzare...

Fortunatamente esiste una soluzione semplice ma allo stesso tempo astuta:
farsela dire da mRemoteNG stesso aggiungendo un comando di test che ce la riporta a video come spiegato qui







Ovviamente questo trucco da un lato ci risulta molto comodo, ma dall'altro ci ricorda ancora una volta che e` fondamentale proteggere l'accesso all'account da cui mRemoteNG viene lanciato...

2022-01-14

Batteria del cellulare Samsung A32 con Android 11 che non si vuole caricare

Stasera abbiamo fronteggiato una emergenza strana:
la batteria del cellulare Samsung A32 con Android 11 non voleva saperne di caricarsi (e la batteria al 5% non fornisce un ampio margine di manovra).
Abbiamo provato 3 cavi usb-C diversi e 2 caricatori originali
sia con il telefono incriminato che con un altro perfettamente funzionante - dai controlli incrociati il verdetto era inequivocabile: tutti i caricatori e i cavi sono sani
il problema e` nel telefono in questione.
All'inizio ho provato ad ipotizzare che ci fosse troppo gioco nel connettore del telefono... poi per fortuna con altre prove un nuovo sintomo: "dispositivo USB Android non riconosciuto". Questo ci ha indotto a seguire anche la pista del problema software. Abbiamo trovato un post interessante che parlava di "cancellazione dati" e "usbsettings"
L'utente in questione ha ammesso che non lo spegne quasi mai - forse un paio di volte al mese. Alla fine con Google cercando bene siamo giunti a questa procedura:

  • "Impostazioni"
  • "Applicazioni"
  • "Applicazioni personali"  --> espandere il menu` con le "tre lineette" con la freccia verso il basso
  • "Mostra applicazioni di sistema" (checkbox da attivare)
  • scorrere verso il basso la lista quasi fino in fondo, ossia fino a raggiungere e selezionare "USBsettings"
  • "Memoria archiviazione"
  • "Svuota cache" e in basso "Cancella dati"
  • restart del telefono

e magicamente la batteria ha ricominciato a caricarsi (alla velocita` di circa un 1% in piu` ogni 2 o 3 minuti)

Dita incrociate e speriamo che sia un lieto fine :-)

2021-12-21

Come recuperare maptools per Ubuntu Linux in poco tempo

Per chi ha bisogno di aggiornare frequentemente maptools su Ubuntu Linux all'ultima release
non ci sono repository che tengano

Allora si puo`   scaricare a mano il .deb
ma tipicamente per ~200MB github ci impiega ~20/30 minuti...

alla fine ho deciso di chiedere a Google e scopro che c'e` un post su stackoverflow



...
I found a solution that worked very well for me.

Go to github and copy the link to the clipboard. Then open a web proxy website
( https://www.proxysite.com worked for me) and paste the link (I tried with US1) - instead of downloading 670mb in 1+ hour at least, it took less than 2 minutes.
...



Ovviamente ho provato subito e confermo che anche a me ha scaricato  ad una buona velocita` (~1.4Mbyte/s)



2021-12-16

Creare PDF fronte retro scansionando dall'ADF che legge una faccia sola

Supponiamo abbiate una stampante multifuzione con la possibilità di scansionare in PDF, attraverso una semplice interfaccia web,  un documento di più fogli dall'alimentatore automatico (ADF), con la limitazione di non supportare il caso di documenti stampati "fronte-retro".

Normalmente nel caso abbiate bisogno di acquisire dei fogli stampati anche sul retro sareste costretti a stampare tutti i retro (le pagine paro) e poi intercalandoli alle pagine dispari del documento originale scansionare tutti i fogli, oppure se foste più environment-friendly potreste scansionare ogni facciata singolarmente e poi assemblare manualmente dal laptop tutti i documenti in uno solo.

Per fortuna esiste una soluzione molto più semplice e comoda: 

  1. scansionare le facciate A in una passata sola di tutto il documento tramite l'ADF e salvare il PDF ottenuto (con le sole pagine 1,3,5,7 etc) come scan-front.pdf
  2. invertire il documento in modo che presenti tutte le pagine pari e poi sul retro le dispari (quindi  pag 2 con la 1 sul retro, pag 4 con la 3 sul retro etc etc)
  3. scansionare con l'ADF quelle facciate pari salvando il documento scan-rear.pdf
  4. rimettere a posto le pagine documento (passo ovvio, ma che può salvare parecchi mal di testa)
  5. usare il tool pdftk per interporre le pagine dei 2 pdf - ossia nel caso specifico:
     
    pdftk A=scan-rear.pdf B=scan-front.pdf  shuffle B A  output collated.pdf



Addirittura si può semplificare ulteriormente chiedendo a pdftk di prendere le pagine pari in ordine inverso: 


  1. scansionare le facciate A in una passata sola di tutto il documento tramite l'ADF e salvare il PDF ottenuto (con le sole pagine 1,3,5,7 etc) come scan-front.pdf
  2. prendere il plico di fogli usciti dall'ADF e ri-sottometterlo  all'ADF al fine di scansionare le facciate pari in ordine inverso, salvando il documento scan-rear.pdf
  3. usare il tool pdftk per interporre le pagine dei 2 pdf invertendo l'ordine delle pari (dopo la lettera "placeholder" del file si specifica il range "end-1"):
     
    pdftk A=scan-rear.pdf B=scan-front.pdf  shuffle B Aend-1  output collated.pdf


Si ringraziano sia pdftk che questo chiarissimo post su unix.stackexchange.com

NB: la procedura e` stata testata su Linux, ma esiste una versione free di pdftk anche per Windows

2021-05-04

Audacity e audio in cuffia in ubuntu

Se dopo aver lanciato Audacity l'audio in cuffia sparisce
e non torna nemmeno dopo aver chiuso l'applicazione, ma solo dopo aver tolto e rimesso il jack delle cuffie...
Ecco... facendo quasi come suggerito qui potreste aver bisogno di cambiare le impostazioni di Audacity
"default: Headphone Mic:0" in "pulse: Internal Mic:0"

2020-05-11

imparare a risolvere il cubo di Rubik in un weekend

Questo weekend mi sono deciso ad imparare a risolvere il cubo di Rubik partendo dal seguente video di 20 minuti


ci ho messo circa 3 ore perche` ho trovato alcuni passaggi spiegati non molto bene - alla fine mi sono deciso a integrare il video con la seguente spiegazione

Legenda:
=======
   in genre quando possibile il cubo va tenuto con la mano
sinistra con medio e pollice sul quadrato centrale della
faccia superiore e inferiore del cubo

guardando la faccia del cubo di fronte a se`
ho scelto di indicare in minuscolo righe colonne e facce

r1 la prima riga in basso
r2 la riga in mezzo
r3 la terza riga dal basso ossia quella piu` in alto

c1 la colonna di sinistra
c2 la colonna centrale
c3 la colonna di destra

f la faccia che sto guardando

NB: 
Quando il movimento non impatta ne` la riga 2 ne` la
colonna 2 il quadretto centrale (ossia il punto fisso della
faccia) rimane ovviamente fermo

i movimenti sono indicati con la maiuscola:  Sx e Dx per le
righe, Up e Dw per le colonne, Cc e Cw per ruotare in senso
antiorario e orario per la faccia che si ha di fronte;
quindi ad esempio r1Sx significa far ruotare di 90 gradi
verso sinistra la riga piu` in basso, c3Up significa di
ruotare verso l'alto la colonna di destra e fCw di ruotare
di 90 gradi in senso antiorario la faccia che si ha di fronte

Definisco "angoli" gli 8 cubetti del cubo che hanno 3 colori
distinti e "spigoli" i 12 cubetti con 2 colori a meta` di un
lato del cubo

i tempi si riferiscono al video di cui sopra (ad es: "4e58"
significa "al minuto 4 e 58 secondi")


Inizio:
=======

scelgo di partire dalla faccia bianca

faccio la croce sulla prima facciata piazzando i 4 spigoli
bianchi; nel caso in cui non basti ruotare di 90 o 180 gradi
una riga del cubo perche` lo spigolo avrebbe i colori
invertiti, il movimento da fare e` spiegato nel video a
partire dalla posizione 4e58

tengo faccia la bianca in alto e faccio

r1Sx  c2Dw  r1Dx  c2Up

ora per gli angoli della faccia bianca

bisogna portare lo spigolo in colonna  
tengo bianco in alto guardo la faccia del secondo colore
con terzo colore a destra  ((***)))

da 6e36

c3Dw r1Sx c3Up r1Dx

fino a 6e43

se il cubetto in angolo risulta ruotato male basta ripetere ancora la stessa mossa per altre 2 o 4 volte


=== con questo ho fatto la prima facciata e il primo strato - ovviamente anche i 4 quadrati centrali saranno gia` a posto  ==


mettiamo la faccia bianca in basso e proseguiamo

ora per il secondo strato (ossia la seconda riga) mancano solo 4 spigoli

da 9 e 25

ci serve il secondo algoritmo
da 10:00

se posso posizionare il colore "fisso" sopra il quadrato
centrale del suo colore allora inizio

da 10:00
r3Dx   c1Up   r3Sx   c1Dw   r3Sx   fCw   r3Dx   fCc
oppure speculare
r3Sx   c3Up   r3Dx   c3Dw   r3Dx   fCc   r3Sx   fCw ((++))

a 10 e 46

NB: al primo "r3Dx" l'autore del video dice  "allontano" 
perche` si deve allontanare la riga con lo spigolo dalla
faccia dell'altro colore (ossia che in questo caso sta a
sinistra) in altre parole se l'altro colore fosse stato a
destra doveva essere "r3Sx" ((++))

se lo spigolo da portare non e` in alto ma e` posizionato
in un altro spigolo del livello 2 il video non ne parla
minimamente!
Per fortuna  ho scoperto che non e` difficile ovviare: si
deve allontanare con 3 mosse a caso lo spigolo in questione
per farlo finire quindi alla riga 3. Ovviamente nel farlo si
scoprira` che un angolo del quandrato bianco di partenza si
sara` spostato, ma basta procedere come spiegato in 
precedenza piu` sopra ((***))
per ri-sistemarlo (mentre lo spigolo che ci interessa 
rimarra` nella riga 3 come serviva e serve tuttora a noi)


=== fatto questo abbiamo finito il secondo strato ===


Ora manca solo il terzo strato conprendente la faccia gialla
(opposta alla bianca da cui siamo partiti).

Dobbiamo ora fare la croce sulla facciata gialla, ma senza
scombinare quanto gia` sistemato percio` serve un terzo
algoritmo

da 12 e 55
ruoto il cubo in modo da avere di fronte la faccia col
quadretto centrale giallo e la ruoto fino ad avere quanti
piu` quadretti "gialli" a destra possibile ed eseguo queste mosse


da 13e07

c1Up  fCc r3Dx fCw c3Up r3Sx

NB:
questo e` un passaggio delicato perche`, se non si sta 
molto attenti, le rotazioni della faccia gialla possono far
perdere i riferimenti e nel video l'autore quasi non spiega
a parole i gesti che fa, dando adito a fraintendimenti

fino a 13e17


ora e` stata fatta la croce gialla ma senza controllare se i
colori degli spigoli fossero posizionati bene; ruotiamo la
faccia gialla per verificare la cosa.
Nel caso in cui i colori di 2 o 3 degli spigoli della croce
non siano posizionati correttamente mi metto a guardare la faccia laterale su uno di quelli
che coincide ed eseguo le seguenti mosse

da 14e48
c3Up r3Sx c3Dw r3Sx c3Up r3Sx r3Sx c3Dw

fino a 14e55

controllo la situazione e, nel caso, ripeto fin quando 
serve; fino a 8 volte per ogni colore, se non basta cambio
il colore della faccia laterale da cui parto e riprovo.
Ammetto che questo puo` essere il passaggio piu` lungo e 
noioso dell'intero processo - bisogna tenere duro: non
manca poi molto


Adesso mancano i 4 angoli - li osservo cercandone uno
nel posto corretto, anche se ruotato ossia con i colori
fuori posto.
Puo` accadere che tutti i 4 angoli si trovino nel posto
errato: si procede comunque come  scritto qui sotto, 
solo potrebbero volerci piu` iterazioni.

mi metto a guardare la faccia laterale tenendolo il suddetto
angolo a destra in alto ed eseguo la sequenza

da 16e47

r3Sx c3Up r3Dx c1Up r3Sx c3Dw r3Dx c1Dw

a 16 e 57

appena tutti e 4 sono nel posto giusto, anche se sono ancora 
ruotati, proseguo  come dice a 17e52

guardo una faccia laterale tenendo la faccia gialla in alto e
quella bianca in basso

c3Dw r1Sx c3Up r1Dx

quando il quadretto giallo torna su al suo posto bisogna
ruotare di 90 gradi in senso orario e proseguire con lo spigolo
successivo

quando la faccia gialla e` tutta ok 
il cubo e` completo fine!!!


2019-12-12

fans always at max speed on xps 15 with Ubuntu linux

since the installation I was not happy about the fan management on my Ubuntu 18: the temperatures were always too high despite the fans were running at more than 4000 RPM (often even more than 5000).

After several months where all my attempts went from bad to worse,
I ended up on this page

 so, long story short:

  1. launch the GUI nvidia-settings  
  2. select the Prime Profiles
  3. switch to Intel GPU
  4. then I was requested to reboot but I preferred also to add another change suggested at this other post
  5. I created as root the file /etc/modprobe.d/nvidia-user-registry.conf with just a single entry

    options nvidia NVreg_RegistryDwords="OverrideMaxPerf=0x2"
    
  6. and finally

    $ sudo update-initramfs -u
    $ sudo shutdown -r now
after the reboot the system is 100% fine - the fan speed is almost always less than 3000 RPM and the temperatures all below 55.0°C

2019-02-26

if df starts lagging

in case you df command starts lagging for 10~20 seconds you can use strace as per this article
$ strace /bin/df
basically what I have found is that one of the mapped resources took ~10 seconds to timeout changed IP from the last time I mounted it and so umounting and remounting fixed it

2018-10-12

rumore di fondo con cuffie wireless DECT in ubuntu

se vi capita di sentire un forte rumore di fondo quando usate delle cuffie DECT con ubuntu...

potrebbe essere che dovete abbassare il volume del device che e` al 100% (mentre il generale non e` sopra il 20/30%)
nel caso potete seguire la procedura come spiegata meglio qui

  1. lanciate il comando in ascii graph
    alsamixer
  2. passate al device in questione
  3. abbassate il volume
  4. uscite
  5. per registrare il cambiamento lanciate
    sudo alsactl store
  6. non ho ancora verificato che al reboot successivo la modifica sia stata mantenuta... ma l'articolo che ho trovato e` di 4 mesi fa quindi mi auguro che abbiano gia` rilasciato la patch relativa :-)

2018-10-08

provide automatic keyboard and mouse input in X

Do you need programmatically schedule some keyboard and mouse input in linux?
Look no further
xdotool is the solution :-)
the installation is as easy as typing

sudo apt-get install xdotool

and assuming you need to do a (left) click on the mouse but only 10 seconds after you left your desk:

sleep 10 ; xdotool click 1

Bonus
obviously it also work if you have to send the commands in a RDP session :-)

2018-05-26

how to load a static html page in firefox new tabs

From some months in order to load a static page in new tabs Firefox requires a bit of configuration more in detail: created a file local-settings.js in mozillainst\defaults\pref folder (C:\Program Files (x86)\Mozilla Firefox\defaults\pref on my laptop) with this content
// local-settings.js.cfg needs to start with a comment line
pref("general.config.filename", "mozilla.cfg");
pref("general.config.obscure_value", 0);
then created another file mozilla.cfg in mozillainst folder (C:\Program Files (x86)\Mozilla Firefox on my laptop) with this content
// mozilla.cfg needs to start with a comment line

var {classes:Cc,interfaces:Ci,utils:Cu} = Components; /* set new tab page */ try {

 var newTabURL = "file:///C:/some/path/to/an/htmlfile.html";
 aboutNewTabService = Cc["@mozilla.org/browser/aboutnewtab-service;1"].getService(Ci.nsIAboutNewTabService);
 aboutNewTabService.newTabURL = newTabURL;

} catch(e){Cu.reportError(e);} // report errors in the Browser Console
and finally close and reopen firefox for this change to take effect

2018-03-06

KVM is an hidden gem on Dell laptops

I have been working with Dell laptops for 12 years now... and today I discovered that some of them is shipped with a quite nice KVM built-in feature that allows for remote BIOS access wow - this is huge! Maybe dangerous... but really *huge!*