Luca Marano bio photo

Luca Marano

Solo un'altro blog sull'IT, appunti personali e chiacchiere da bar...

Email Twitter Google+ LinkedIn

C’è voluto qualche giorno, ma ho trovato il barbatrucco per fixare l’errore 0x80070043 sul mio client Windows 10 (ma in passato ho visto cose analoghe su Xp/7/8 e 8.1).

0x80070043

Non mi è chiaro il perchè capiti questo problema, ma quando capita non è più possibile fare il browse delle share di rete usando esplora risorse.

Workaround:

  1. Lanciare regedit dal prompt dei comandi, con i diritti amministrativi
  2. Posizionarsi in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder\
  1. Editare la dword ProviderOrder
  2. Sostituire il contenuto con il seguente valore:
WDNP32,SnacNp,RDPNP,LanmanWorkstation,webclient

Non è necessario riavviare, provate nuovamente ad effettuare il mount di una risorsa di rete condivisa in modo da verificare subito se il workaround è stato risolutivo.

CloudFlare continua a darmi grandi soffisfazioni. Lasciamo perdere la mera e noiosa gestione degli RR Record sui DNS, parliamo della bella e mai-scontata feature che permette, anche per il proprio blog/sito hostato su GitHub, di usare un certificato SSL pubblicamente riconosciuto.

SSL

Via, pannello di controllo di CloudFlare, clicchiamo il bottone Crypto nella top bar.
Alla voce SSL (with SPDY) va selezionato Flexible, se non fosse già così.

SSL

ATTENZIONE: una volta modificato il profilo SSL sarà necessario attendere fino a 48 ore.
Alla voce Page Rules possiamo creare le regole di redirect, dall’http all’https, mettendo semplicemente ad ON la voce Always use https. Nel mio caso:

SSL

Questo è quanto.

Ci sono molti editor di testo gratuiti e validi, uno tra tutti è Notepad++, ma uso con soddisfazione un editor shareware… Sublime Text.

Sublmie Test

Lo uso perchè è estremamente versatile, edita nativamente i markdown file ed è stato compilato sia per windows che per Mac (ed è il mio caso). Incredibile ma vero, nonostante il programma sia molto potente e personalizzabile fin nei mimini dettagli manca la funzione di stampa. Non chiedetemi il motivo, ma sembra che ci siano razionali tecnico-filosofici che spieghino questa mancanza. Bando alle ciance, c’è un modo per ovviare a questa assurda mancanza, sfruttanto un package gratuito che esporta il testo in html verso il browser predefinito, pronto per la stampa.
Come si fa?
Attivare la console dal menù View > Show Console, se avete la versione 3 dell’editor incollare il seguente codice:

import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Diversamente, se avete la versione 2 il codice è il seguente:

import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

Battete invio. Il Packege Manager è installato, continuamo con il pacchetto che ci interessa. Sempre con l’editor aperto digitate Cmd+Shift+P cliccate su Package Control: Install Package. Dall’elenco che compare selezionate Print to HTML, partirà automaticamente l’installer del pacchetto. È tutto.
Per poter inviare il testo in stampa basta premere i tasti Ctrl+Shift+P, oppure dal menù File > Print as HTML to Browser

Per meglio gestire il flusso e-mail su Outlook ho avuto l’esigenza di aggiungere il mio indirizzo di posta in BCC ad ogni mail in uscita, in modo da poter archiviare la posta in sottocartelle ed avere subito a portata di mano tutta la corrispondenza dello specifico thread. Per traguardare l’obiettivo ci sono diversi modi, ho scelto quello di usare una macro. Quindi ho avviato Outlook (2013), Alt+F11, e si apre la finestra di sviluppo:

Sviluppo

Espandere Project1 doppio click su ThisOutlookSession
Sul progetto ThisOutlookSession copiate/incollate il seguente codice:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objRecip As Recipient
Dim strMsg As String
Dim res As Integer
Dim strBcc As String
On Error Resume Next
' #### USER OPTIONS ####
' address for Bcc -- must be SMTP address or resolvable
' to a name in the address book
strBcc = "[email protected]"
Set objRecip = Item.Recipients.Add(strBcc)
objRecip.Type = olBCC
If Not objRecip.Resolve Then
strMsg = "Could not resolve the Bcc recipient. " & _
"Do you want still to send the message?"
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
"Could Not Resolve Bcc Recipient")
If res = vbNo Then
Cancel = True
End If
End If
Set objRecip = Nothing
End Sub

Sostituite ovviamente l’indirizzo al campo strBcc = con quello di vostro interesse. Riavviate Outlook ed il gioco è fatto, ovviamente il vostro programma di posta dev’essere abilitato ad eseguire le macro.

Vorrei condividere questo post, basato su quanto scritto sul sito http://linux.cn/, utile se volete visualizzare la progress bar durante lo spostamento/copia di file nella vostra gnubox. In pratica tutto si basa sullo script ADVCP (ADVanced CoPy) ed al set GNU Core Utilities. Di seguito il sorgente:

#!/usr/bin/env bash
set -e

tmpdir=$(mktemp -t -d advcp.XXXXXX)
cd ${tmpdir}

wget https://aur.archlinux.org/packages/ad/advcp/advcp.tar.gz
tar xf advcp.tar.gz

source advcp/PKGBUILD

wget http://ftp.gnu.org/gnu/coreutils/coreutils-"${_pkgver}".tar.xz
tar xf coreutils-"${_pkgver}".tar.xz

cd coreutils-"${_pkgver}"

echo "Patching..."
patch -p1 -i ../advcp/advcpmv-"${_pkgver}"_"${pkgver}".patch || exit 1

echo "Start making..."
./configure || exit 1
make || exit 1

sudo install -Dm 755 "${PWD}"/src/cp /usr/local/bin/acp
sudo install -Dm 755 "${PWD}"/src/mv /usr/local/bin/amv

echo "Installation succeeded!"
echo "Don't forget to add \"alias cp='acp -g'\" and \"alias mv='amv -g'\" in your bashrc!"

Se volete potete creare degli alias affinché ADVCP sostituisca i comandi cp e mv di linux, editando il vostro file ~/.bashrc ed inserendo questo codice:

# ALIAS ADVCP
alias cp="acp -g"
alias mv="amv -g"

Effettuato un nuovo logon per rendere effettive le modifiche.
progressbar