×

Inserisci link ad articolo di TurboLab.it Ricerca articoli

Cerca e inserisci il collegamento a un articolo pubblicato da TurboLab.it

Digita almeno 3 caratteri, poi premi "Invio"

... e le chiamano AI

Parliamo qui dei rootkit hypervisor-level, ma anche di quale piattaforma mobile preferire o delle ripercussioni di Facebook sulla nostra privacy.
Regole del forum
Avatar utente
Zigul
VIP
VIP
Messaggi: 739
Iscritto il: dom ott 08, 2023 12:11 am
Has thanked: 50 times
Been thanked: 73 times

Re: ... e le chiamano AI

Messaggio da Zigul »

Per il codice si dice che Claude sia il migliore; poi ci sono alcune AI generaliste che hanno dei chatbot specializzati, come ad esempio xPrivo che in "Experts" ne ha uno appositamente configurabile. Ci sono anche delle AI che si integrano in VIsualStudio o direttamente nel terminale, ma sono meno immediate da usare e rivolte ad un uso più professionale.
Quando ho dubbi o devo imparare qualcosa di nuovo, mi trovo bene con Grok, ma anche gli altri (ChatGPT, Perplexity, Gemini, etc.) solitamente se la cavano con quesiti non troppo complessi (nei casi più articolati chiedo a più bot e poi scelgo quello che mi convince di più; per farlo avevo uno script, ma dovrei aggiornarlo perché hanno cambiato le pagine di accesso). L'importante, come hai già notato, è avere un po' di pazienza e confezionare dei prompt ben ragionati, in modo che l'AI vada dritta al punto.
Avatar utente
ctsvevo
Gran Maestro Revisore
Gran Maestro Revisore
Messaggi: 750
Iscritto il: sab lug 24, 2021 9:19 pm
Has thanked: 8 times
Been thanked: 18 times

Re: ... e le chiamano AI

Messaggio da ctsvevo »

crazy.cat ha scritto: sab mar 14, 2026 7:54 am In questi giorni stavo cercando degli script che simulano l'attività di mouse o tastiera per impedire che il computer vada in standby.
Prova Mouse Jiggler. ;)
Se non lo trovi online, dovrei avercelo io da qualche parte su uno dei miei PC.
"Ask Me Anything": il Direttore di Thunderbird risponde alle vostre domande:
https://forum.mozillaitalia.org/index.php?topic=79685.0
Avatar utente
crazy.cat
Amministratore
Amministratore
Messaggi: 13522
Iscritto il: mer mag 01, 2013 4:02 pm
Località: Noventa Padovana
Has thanked: 7 times
Been thanked: 82 times

Re: ... e le chiamano AI

Messaggio da crazy.cat »

ctsvevo ha scritto: sab mar 14, 2026 5:39 pm Prova Mouse Jiggler. ;)
:grazie ma volevo trovare solo degli script powershell che simulano i movimenti del mouse e la pressione del tasto F15 sulla tastiera per mantenere il pc attivo.
Oltre a mettere alla prova chatgpt :)
La prima legge della dietetica sembra essere: se il sapore è buono, a te fa male.
Avatar utente
crazy.cat
Amministratore
Amministratore
Messaggi: 13522
Iscritto il: mer mag 01, 2013 4:02 pm
Località: Noventa Padovana
Has thanked: 7 times
Been thanked: 82 times

Re: ... e le chiamano AI

Messaggio da crazy.cat »

Ieri chiedo a chatgpt di modificare uno script per calcolare le dimensioni di una cartella e il numero di file presenti. Peccato che i due totali siano molto più alti della realtà.
$TopDir = "d:\telelavoro"
$ReportPath = "d:\report_cartelle.csv"

# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force

# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force -Recurse
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }

[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}

# 3. Calcolo del TOTALE complessivo
$GrandTotalBytes = ($Results | Measure-Object -Property Size_MB -Sum).Sum * 1MB
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}

# 4. Unione risultati e riga totale
$FinalOutput = $Results | Sort-Object -Property Size_MB -Descending
$FinalOutput += $TotalRow

# 5. Esportazione per Excel
# Usiamo il delimitatore punto e virgola ';' per l'apertura automatica corretta in Excel (regionale IT)
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8

Write-Host "Report generato con successo in: $ReportPath" -ForegroundColor Green
$FinalOutput | Format-Table -AutoSize
Oggi gli ripasso il primo script e mi toglie l'opzione -recurse, solo che i totali vengono così molto più bassi.
$TopDir = "d:\telelavoro"
$ReportPath = "d:\report_cartelle.csv"

# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force

# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
# RIMOSSO -Recurse qui: contiamo solo i file specifici di questa cartella
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }

[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_Bytes = $TotalBytes # Conserviamo il valore puro per calcoli precisi
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}

# 3. Calcolo del TOTALE complessivo (sommiamo i Byte originali per evitare errori di arrotondamento)
$GrandTotalBytes = ($Results | Measure-Object -Property Size_Bytes -Sum).Sum
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_Bytes = $GrandTotalBytes
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}

# 4. Esportazione
$FinalOutput = $Results | Sort-Object -Property Size_Bytes -Descending
$FinalOutput += $TotalRow
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8

Write-Host "Report generato: $ReportPath" -ForegroundColor Green
Non mi sono messo a contare i file cartella per cartella per capire dove sbaglia, mi tengo a mente questi due script come base per una eventuale sfida tra ai per vedere chi trova uno script veramente funzionante
La prima legge della dietetica sembra essere: se il sapore è buono, a te fa male.
Avatar utente
crazy.cat
Amministratore
Amministratore
Messaggi: 13522
Iscritto il: mer mag 01, 2013 4:02 pm
Località: Noventa Padovana
Has thanked: 7 times
Been thanked: 82 times

Re: ... e le chiamano AI

Messaggio da crazy.cat »

Con questo script il lavoro invece è stato piuttosto buono, ci deve essere solo un problema con i valori della cpu sull'utilizzo, che è a zero, e sui processi che la usano di più ma che non mi tornano giusti. Devo rivederlo e miglioralo.
Write-Host "====================================="
Write-Host "DIAGNOSTICA RAPIDA PC LENTO"
Write-Host "====================================="

$Report = "c:\Diagnosi_PC.txt"

"===== INFORMAZIONI SISTEMA =====" | Out-File $Report
Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer | Out-File $Report -Append

"`n===== ULTIMI 10 AGGIORNAMENTI WINDOWS (COMPLETO) =====" | Out-File $Report -Append
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()

if ($HistoryCount -gt 0) {
# Estrae la cronologia completa e prende i 10 più recenti
$Searcher.QueryHistory(0, $HistoryCount) |
Select-Object Title, Date,
@{Name="Result"; Expression={
switch($_.ResultCode) {
2 {"Successo"}
3 {"In corso"}
4 {"Fallito"}
5 {"Annullato"}
default {"Sconosciuto"}
}
}} |
Sort-Object Date -Descending |
Select-Object -First 20 | Format-Table -AutoSize | Out-File $Report -Append
} else {
"Nessuna cronologia aggiornamenti trovata." | Out-File $Report -Append
}

"`n===== PROGRAMMI INSTALLATI =====" | Out-File $Report -Append
$UninstallKeys = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
Get-ItemProperty $UninstallKeys |
Where-Object { $_.DisplayName -ne $null } |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize | Out-File $Report -Append

"`n===== CPU UTILIZZO =====" | Out-File $Report -Append
Get-Counter '\Processor(_Total)\% Processor Time' |
Select -ExpandProperty CounterSamples |
Select InstanceName, CookedValue | Out-File $Report -Append

"`n===== PROCESSI CHE USANO PIU CPU =====" | Out-File $Report -Append
Get-Process | Sort CPU -Descending | Select -First 10 Name,CPU,Id | Format-Table -AutoSize | Out-File $Report -Append

"`n===== PROCESSI CHE USANO PIU RAM =====" | Out-File $Report -Append
Get-Process | Sort WorkingSet -Descending | Select -First 10 Name,@{Name="RAM_MB";Expression={[math]::round($_.WorkingSet/1MB)}} | Format-Table -AutoSize | Out-File $Report -Append

"`n===== UTILIZZO RAM =====" | Out-File $Report -Append
Get-CimInstance Win32_OperatingSystem |
Select @{Name="RAM_totale_MB";Expression={[math]::round($_.TotalVisibleMemorySize/1024)}},
@{Name="RAM_libera_MB";Expression={[math]::round($_.FreePhysicalMemory/1024)}} | Out-File $Report -Append

"`n===== STATO DISCHI =====" | Out-File $Report -Append
Get-PhysicalDisk | Select FriendlyName, MediaType, HealthStatus, OperationalStatus | Format-Table -AutoSize | Out-File $Report -Append

"`n===== SPAZIO DISCO =====" | Out-File $Report -Append
Get-PSDrive -PSProvider FileSystem |
Select Name,@{Name="Free_GB";Expression={[math]::round($_.Free/1GB,2)}},
@{Name="Used_GB";Expression={[math]::round($_.Used/1GB,2)}} | Out-File $Report -Append

"`n===== PROGRAMMI IN AVVIO AUTOMATICO =====" | Out-File $Report -Append
Get-CimInstance Win32_StartupCommand | Select Name, Command, Location | Format-Table -AutoSize -Wrap | Out-File $Report -Append

"`n===== SERVIZI BLOCCATI O NON AVVIATI =====" | Out-File $Report -Append
Get-Service | Where Status -ne Running |
Select Name,Status,StartType | Out-File $Report -Append

"`n===== ERRORI DI SISTEMA ULTIME 24 ORE =====" | Out-File $Report -Append
Get-WinEvent -FilterHashtable @{
LogName='System'
Level=2
StartTime=(Get-Date).AddDays(-1)
} -ErrorAction SilentlyContinue | Select TimeCreated,Id,ProviderName,Message -First 20 | Format-Table -AutoSize -Wrap | Out-File $Report -Append

Write-Host ""
Write-Host "Diagnosi completata."
Write-Host "Report salvato in: $Report"
La prima legge della dietetica sembra essere: se il sapore è buono, a te fa male.
Avatar utente
ctsvevo
Gran Maestro Revisore
Gran Maestro Revisore
Messaggi: 750
Iscritto il: sab lug 24, 2021 9:19 pm
Has thanked: 8 times
Been thanked: 18 times

Re: ... e le chiamano AI

Messaggio da ctsvevo »

Fantasioso questo Gemini, sapete?

Guardate questa immagine...

Immagine

Ora, potete anche non essere appassionati di quei brutti e pericolosi mezzi a due ruote motorizzate che si chiamano motociclette, ma ad un mio ben preciso prompt:
"Sai darmi notizie maggiori su questa foto di Giacomo Agostini su Yamaha 500 con Nobby Clark? Sii preciso, non inventarti le cose!"
la risposta di Gemini, deliziosa, è stata questa.
Questa foto è un documento storico eccezionale: immortala il momento esatto in cui il motociclismo moderno è nato. Siamo a Daytona, Florida (USA), nel marzo 1974.

Quella che vedi è la celebrazione della vittoria di Giacomo Agostini alla Daytona 200 al suo debutto assoluto con la Yamaha.
I dettagli precisi della foto:

Il Protagonista: Giacomo Agostini siede sulla moto con l'asciugamano al collo, visibilmente provato ma trionfante. Aveva appena compiuto un'impresa che molti ritenevano impossibile: vincere al debutto con una moto a 2 tempi dopo una vita sui 4 tempi, e farlo su un circuito americano velocissimo e pericoloso.

La Moto: È la leggendaria Yamaha TZ 750 (quattro cilindri, due tempi). Nota il numero 4 sulla carena: è il numero che Ago usò per quella gara specifica, non avendo ancora il titolo mondiale con Yamaha.

L'Uomo alla sua destra (con il cappellino): È proprio Nobby Clark, uno dei meccanici più famosi e vincenti della storia del Motomondiale. Clark fu fondamentale per adattare la Yamaha alle esigenze di Agostini. Aveva già lavorato con campioni come Hailwood e Read.

Il Gesto delle Mani: Agostini e i tecnici Yamaha mostrano quattro dita. Questo non indica i titoli vinti, ma i quattro cilindri della nuova moto, una potenza brutale che all'epoca spaventava i piloti abituati alle più "dolci" erogazioni dei motori europei.
Anche se non siete degli appassionati di quello sport suicida (secondo alcuni) che è il motociclismo ( :fiu ) è facile capire come la creatura intelligente di Google abbia preso una sonora cantonata...
"Questa foto è un documento storico eccezionale"
Me lo dice per qualsiasi foto gli sottopongo. GIURO! Ho una foto di Agostini che esce dal gabinetto degli uomini mentre fuori c'è il pilota Paolini (Renzo, da non confondere col regista Pier Paolo) e ovviamente anche quella foto è "un documento storico eccezionale"!
Giuro che ho una foto del genere, se volete ve la posto!
"immortala il momento esatto in cui il motociclismo moderno è nato. Siamo a Daytona, Florida (USA), nel marzo 1974."
Mah, che il motociclismo moderno sia nato durante la 200 Miglia di Daytona 1974 è una sua opinione personale che non mi vede d'accordo (come credo non veda d'accordo nessun appassionato di motociclismo).
E comunque no, non siamo assolutamente "a Daytona, Florida (USA), nel marzo 1974." Mai e poi mai!
"Quella che vedi è la celebrazione della vittoria di Giacomo Agostini alla Daytona 200 al suo debutto assoluto con la Yamaha."
È vero che nel 1974 Giacomo Agostini alla "200 Miglia di Daytona" ("Daytona 200" non significa nulla... "duecento" possono essere dei centimetri come dei vermi da pesca, alla faccia della precisione della I.A.) vinse al suo debutto assoluto con la Yamaha (anche qui, se volete ho un bel link di una vittoria leggendaria), ma la foto non si riferisce per niente a quell'evento!
" Il Protagonista: Giacomo Agostini siede sulla moto con l'asciugamano al collo, visibilmente provato ma trionfante."
"Asciugamano al collo"? "Visibilmente provato"? WOW! Che allucinazioni! Agostini al collo ha la corona d'alloro che a quei tempi si donava al vincitore di un Gran Premio e poi non è per nulla provato! Anche un inesperto di motociclismo lo vede con i propri occhi...
"La Moto: È la leggendaria Yamaha TZ 750 (quattro cilindri, due tempi)."
No, è la Yamaha 500. Nel 1974 la Yamaha di Agostini con cui corse a Daytona aveva un design più corposo e squadrato, con prese d'aria e soprattutto con il numero 10 inserito in una tabella non ovale. Lo sa tutto il mondo o quasi!
"Nota il numero 4 sulla carena: è il numero che Ago usò per quella gara specifica, non avendo ancora il titolo mondiale con Yamaha."
A parte l'italiano traballante ("non avendo ancora il titolo mondiale con Yamaha"), facciamo chiarezza.
Nel 1974 Agostini corse a Daytona col numero 10, come detto.
Nel 1975 Agostini corse a Daytona col numero 4, sì, questo è vero, quindi quella foto non è del 1974. E comunque non è una Yamaha 750, sia ben chiaro.
Le 750 avevano il numero nero su fondo bianco, le 500 avevano il numero nero su fondo giallo. Anche un bambino piccolo-detective riconoscerebbe questi colori in una foto in bianco e nero con una moto bianca (e quindi il portanumero non può che essere giallo...).
"L'Uomo alla sua destra (con il cappellino): È proprio Nobby Clark, uno dei meccanici più famosi e vincenti della storia del Motomondiale."
Una delle poche cose azzeccate in questa foto. Forse grazie al mio prompt?
"Il Gesto delle Mani: Agostini e i tecnici Yamaha mostrano quattro dita. Questo non indica i titoli vinti, ma i quattro cilindri della nuova moto,"
Ora, pure un non appassionato di motociclismo, se non è orbo, sa contare: Agostini e i tecnici Yamaha mostrano cinque dita, non quattro!
Cinque dita per tre mani fanno quindici dita. Facile, no?
Ma che cosa significa "15"? Sono centimetri di qualcosa misurata in passato, magari all'uscita del gabinetto degli uomini? Sono vermi da pesca necessari per avere successo? Sono titoli mondiali conquistati dal campione italiano? Non lo sapremo mai, Gemini invece lo sa: sono quattro e sono cilindri!
"una potenza brutale che all'epoca spaventava i piloti abituati alle più "dolci" erogazioni dei motori europei."
A-ehm... Anche un non appassionato capisce che quattro cilindri non possono essere una potenza brutale. La potenza brutale si misura in CV, HP o kW o altro, non certo in numero di cilindri (o bombette, o coppole... tanto per Gemini tutto fa brodo).
E comunque i 4 cilindri nei Gran Premi di moto esistevano già (a dirla tutta, ci sono state pure moto giapponesi a 12 cilindri nei Gran Premi e c'è stata pure una Moto Guzzi a 8 cilindri prima della Yamaha...), le MV 500 di quel periodo erano a 4 cilindri e non avevano certo una erogazione "dolce" (ma neppure salata o amara).
Gemini, dovevi puntare le carte sulla dicitura "2 tempi", non "quattro cilindri"!
La "potenza brutale" delle moto giapponesi derivava in primis dal ciclo del loro motore (2 tempi, "ciclo" inteso come "fase") e poi dal loro frazionamento (4 cilindri), lo sanno anche le maestre dell'asilo nido dei bimbi-detective!
"motori europei."
Finisco di farti le pulci, Gemini, sennò annoio i miei lettori. Scrivi un mucchio di sciocchezze, per esempio nei Gran Premi a quei tempi c'erano pure motori americani.

Meglio che Gemini torni ad occuparsi di informatica e riassunti vari, meglio...
"Ask Me Anything": il Direttore di Thunderbird risponde alle vostre domande:
https://forum.mozillaitalia.org/index.php?topic=79685.0