Impedire il ripristino dei programmi aperti in precedenza in Windows 10

Con l’ultimo aggiornamento di Windows 10, Fall Creators Update, il sistema ripristina i programmi aperti prima dell’arresto del computer, le pagine del browser e i file di office.

In qualche caso può essere una cosa molto fastidiosa e per impedire che avvenga questo purtroppo non ci sono impostazioni o settaggi da fare ma si può eseguire una procedura di spegnimento diversa da quella canonica.

Il primo metodo è per gli utenti più smaliziati è possibile dal prompt dei comandi digitando

shutdown.exe /r /t 0 - per riavviare
shutdown.exe /s /t 0 - per spegnere

Con il secondo metodo invece si può premere la combinazione di tasti ALT+F4. Comparirà la finestra di dialogo Fine della sessione di lavoro.

Con questo metodo viene terminata la “Sessione di lavoro” quindi non vengono ripristinate le finestre e i programmi aperti in precedenza, per far comparire questa finestra è necessario essere posizionati nel desktop quindi eventualmente può essere premuta la combinazione di tasti WIN + M e ridurre tutte le finestre a icona

Buon Lavoro!

Forzare il redirect di un sito HTTP in HTTPS

Con questo codice è possibile forzare l’utilizzo di HTTPS per visualizzare il vostro sito web è sufficente inserirlo nel file .htaccess presente nella root del vostro sito e sostituire “https://www.example.com/” con il vostro indirizzo

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

Problemi con l’avvio di Visual Studio Code in Ubuntu con XRDP

Per risolvere il problema dell’avvio ho trovato questo script in questa discussione github

naturalmente è consigliabile effettuare un backup della cartella libxcb.so.1 prima effettuare una modifica si questo tipo

# make a copy of the relevant library
mkdir ~/lib
cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ~/lib
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1
# set the dynamic loader path to put your library first before executing VS Code
LD_LIBRARY_PATH=$HOME/lib code

Risolve il problema e consente di lavorare via desktop remoto con Visual Studio Code

DNS alternativi a quelli di default dei provider telefonici

Questo è elenco di DNS da poter utilizzare al posto dei DNS forniti automaticamente dai provider liberi da eventuali censure:

Alternative DNS Nameservers
https://www.grc.com/dns/alternatives.htm

DNS Nameserver Spoofability Test
https://www.grc.com/dns/dns.htm

Router Crash Test
https://www.grc.com/dns/crashtest.htm

Domain Name Speed Benchmark (solo windows)
https://www.grc.com/dns/benchmark.htm

namebench, Open-source DNS Benchmark Utility
https://code.google.com/p/namebench/
https://code.google.com/p/namebench/downloads/detail?name=namebench-1.3.1-Mac_OS_X.dmg

Configuring your network settings to use Google Public DNS
https://developers.google.com/speed/public-dns/docs/using

namehelp - better web performance with the DNS service you choose
http://aqualab.cs.northwestern.edu/projects/namehelp

DNSCrypt, Encrypt DNS traffic
http://www.macupdate.com/app/mac/41072/dnscrypt

OpenDNS IP Addresses
https://www.opendns.com/home-internet-security/opendns-ip-addresses/

http://it.wikipedia.org/wiki/OpenDNS
OpenDNS è un servizio che offre liberamente i propri DNS.
Sono messi a disposizione i seguenti indirizzi per un uso pubblico:

indirizzi IPv4
208.67.222.222 (resolver1.opendns.com)
208.67.220.220 (resolver2.opendns.com)

Indirizzi IPv6 (sperimentali)
2620:0:ccc::2
2620:0:ccd::2

OpenDNS + Parental Control
208.67.222.123
208.67.220.123

Uscire dai device connessi con il vostro account Skype

Con due semplicissimi comandi è possibile visualizzare tutti i device connessi contemporaneamente con il vostro account skype e in seguito con un altro comando buttare fuori tutti e le connessioni tranne quella che state utilizzando per fare le operazioni

I comandi sono:

/showplaces  che vi mostrerà tutti i device che attualmente sono connessi con il vostro account skype 

/remotelogout disconnetterà tutti i device connessi con il vostro account tranne quello che state usando per inviare i comandi

Inserire un trigger per avere un log delle modifiche strutturali ad un database Sql Server

Spesso può essere necessario avere un log delle modifiche dei strutturali al database in uso.

con la procedura di seguito è possibile creare un trigger che scrive in una tabella di log che si chiama LogMobDB

Creazione tabella di Log dei Dati

CREATE TABLE [LogModDB](
	[data] [datetime] NULL,
	[utente] [varchar](128) NULL,
	[comando] [varchar](max) NULL,
	[objname] [varchar](128) NULL,
	[dbname] [varchar](128) NULL
);

Creazione del trigger che va a scrivere nella tabella LogModDB

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TRIGGER [Log_Modifiche_Struttura] ON DATABASE FOR
	CREATE_TABLE,
	ALTER_TABLE,
	DROP_TABLE,
	CREATE_VIEW,
	ALTER_VIEW,
	DROP_VIEW,
	CREATE_PROCEDURE,
	ALTER_PROCEDURE,
	DROP_PROCEDURE,
	CREATE_FUNCTION,
	ALTER_FUNCTION,
	DROP_FUNCTION,
	CREATE_INDEX,
	ALTER_INDEX,
	DROP_INDEX,
	CREATE_ASSEMBLY,
	ALTER_ASSEMBLY,
	DROP_ASSEMBLY,
	CREATE_TRIGGER,
	ALTER_TRIGGER,
	DROP_TRIGGER,
	CREATE_SCHEMA,
	ALTER_SCHEMA,
	DROP_SCHEMA
	AS
 
	DECLARE @command AS VARCHAR(MAX)
	DECLARE @login AS VARCHAR(128)
	DECLARE @db AS VARCHAR(128)
	DECLARE @objName AS VARCHAR(128)
	 
	SELECT @login = SUSER_SNAME()
	SELECT @command = EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
	SELECT @objName = EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(max)')
	SELECT @db = DB_NAME()
	 
	--Inserisco la modifica nello storico
	INSERT INTO LogModDB
		values
		(
			getdate(),
			@login,
			@command,
			@objName,
			@db
		)
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ENABLE TRIGGER [Log_Modifiche_Struttura] ON DATABASE
GO

Visualizzare dimensioni tabelle in SqlServer

Può essere comodo avere un riferimento delle dimensioni delle tabelle di un database
richiamando questa store procedure si ottiene in tempo reale lo stato delle tabelle.

come si puo notare nell'immagine allegata formisce in maniera dettagliata i dati necessari.

CREATE PROCEDURE [dbo].[CalculateTableSize]
AS
BEGIN

SET NOCOUNT ON;

CREATE TABLE #FrameworkTableSize(
[TableName] [varchar](100) NULL,
[RowNumber] [int] NULL,
[KBReservedSize] varchar(100) NULL,
[KBDataSize] varchar(100) NULL,
[KBIndexSize] varchar(100) NULL,
[KBUnusedSize] varchar(100) NULL
)

declare DBObjectCursor cursor for select 'dbo.' + name from dbo.sysobjects where xtype = 'u'
declare @TableName varchar(100)

open DBObjectCursor
fetch next from DBObjectCursor into @TableName

while @@fetch_status = 0
begin
insert into #FrameworkTableSize (TableName, RowNumber , KBReservedSize, KBDataSize, KBIndexSize , KBUnusedSize)
exec sp_spaceused @TableName

fetch next from DBObjectCursor into @TableName
end

close DBObjectCursor
deallocate DBObjectCursor

SELECT * FROM #FrameworkTableSize

END

Come spostare una finestra che è fuori dallo schermo

Ogni volta che si scollega un monitor esterno dal computer o modificare le impostazioni di risoluzione del display , una finestra di programma può finire fuori la parte visibile dello schermo. Anche se si chiude e si riapre il programma , può ancora essere fuori dallo schermo . Per risolvere questo problema, modificare le impostazioni della finestra di riportarlo in vista.

  1. Muovi il mouse per la barra delle applicazioni di Windows nella parte inferiore dello schermo. Passare il puntatore sopra l’icona che corrisponde alla finestra del programma che è fuori dallo schermo .
  2. Tenere premuto il tasto “Shift” e fare clic destro sull’icona .
  3. Fare clic su ” Sposta “. Se “Sposta” non è selezionabile , fare clic su “Ripristina “, tenere premuto ” Shift” e fare clic nuovamente sull’icona , quindi fare clic su “Sposta “.
  4. Premere uno dei tasti freccia. La finestra è ora ” attaccato ” al puntatore del mouse . Spostare la finestra posteriore sullo schermo utilizzando il mouse , quindi fare clic per rilasciarlo.

Reinstallare Windows 8.1

Salve amici, visto che ne ho lette di tutti i colori in questi giorni sulla questione “reinstallare windows 8 su notebook con licenza”, voglio pubblicare la mia esperienza, in modo da aiutare e chiarire le idee a chi si sta imbattendo nei miei stessi dubbi e problemi, dato che ho impiegato tempo, risorse e prove concrete per giungere a tale conclusione, che in fondo era piuttosto scontata.

Ma torniamo alla questione. La situazione tipo è l’utente che “acquista un notebook di qualunque marchio, con pre-installato windows 8 o windows 8 professional” e non trova il numero di serie (o chiave o product key, come vi pare) etichettato sotto al notebook, come eravamo tutti abituati a vedere fino a windows 7. Sotto ai notebook con windows 8 si trova solo un adesivo microsoft che certifica l’originalità della licenza. Creare un disco di ripristino è praticamente impossibile (occorre fare un’immagine con l’utility di windows o con un software di terze parti) ed anche le partizioni di recovery sembrano non esistere o essere inefficienti.

E allora dove sta la mia licenza, in realtà?
Semplicemente sta dentro al bios, che poi è un (U)EFI, quindi un “mezzo sistema operativo” rispetto al vecchio bios.

Leggi tuttoReinstallare Windows 8.1

Convertire un file XML in classi C#

Può capitare di avere alcuni file xml da utilizzare in un progetto C# quindi si puo presentare la fastidiosa situazione di dover creare tutti i DTO necessari alla corretta lettura e gestione dei file xml

il prompt dei comandi degli strumenti per sviluppatori del Visual Studio mette a disposizione il comando xsd che permette in 2 piccoli step di prima convertire il file xml nello schema di un dataset poi con il secondo comando /classes avviene la conversione in un file .cs che contiene tutte le classi generate.

Leggi tuttoConvertire un file XML in classi C#