Formattazione XML con Notepad++

Negli ultimi giorni ho litigato parecchio con Open XML SDK, la libreria Microsoft open che permette di creare da codice documenti di tipo Office, vale a dire Word ed Excel, giusto per citarne i due più famosi.

E’ giusto ricordare che i formati .docx e .xlsx non sono nient’altro che file zip compressi, che al loro interno contengono tutte le informazioni per rappresentare i documenti. Ed il tutto è gestito attraverso file XML che possono essere tranquillamente letti, modificati e manipolati. La libreria Open XML SDK semplifica un po’ le cose, ma c’è comunque da impazzire un pochino.

Fatta questa premessa, mi è capitato di dover visualizzare questi file XML attraverso Notepad++ che, purtroppo, di default non è in grado di formattare a dovere. Quindi, per riassumere:

  • apro un file .docx attraverso 7-Zip
  • navigo i folder contenuti, seleziono un file XML
  • premo F4 per avviare l’editor, nel mio caso Notepad++
  • il file XML è visualizzato su una singola lunghissima linea di codice.

Burp! Panico.

Come risolvere? Con i plugin giusti di Notepad++, ovviamente.

  • Aprite Notepad++
  • Aprite il menù Plugins –> Plugin Manager –> Show Plugin Manager

image

Dall’elenco dei plugin selezionate XML Tools.

image

Cliccate Install, riavviate Notepad++. Purtroppo potrebbe capitarvi di dover riavviare un paio di volte Notepad++, perchè prima vi aggiorna il Plugin Manager e poi dovete richiedere nuovamente l’installazione del plugin XML Tools. Fatto questo, avete abilitato tutta una serie di nuovi strumenti per lavorare più velocemente con i file XML.

image

Et voilà, un bel colpo di Pretty print per formattare l’XML e poterlo leggere comodamente!

Send to Kindle

Montaggio video con ffmpeg

Nei mesi scorsi, quando ero in ballo con il progetto DevInPills, mi è capitato di dover montare tre video, concatenandoli uno all’altro, sostanzialmente per ottenere una cosa tipo:

SIGLA DI APERTURA + EPISODIO DEL GIORNO + SIGLA DI CHIUSURA

Ho evitato di cercare un software tradizionale, ma ho preferito puntare su uno strumento che fosse automatizzabile. Leggesi, quindi, da eseguire anche dal prompt dei comandi.

Ho puntato quindi sull’utility ffmpeg che, come dichiara il sito ufficiale, è un “complete, cross-platform solution to record, convert and stream audio and video”. Dalla linea di comandi potete insomma eseguire tantissime operazioni, e come potete immaginare io ne ho imparato una minima parte, quelle che avevo bisogno per finire ciò che mi serviva.

Beh, allora, come si fa?
Supponiamo di avere un folder così composto:

image

  • ffmpeg.exe : è portable, non va installato, basta posizionare l’exe da quasi 40Mb dove vi serve. Comodo.
  • In.mp4 : video di apertura del video finale
  • Out.mp4 : video di chiusura del video finale
  • Produce.ps1 : script Powershell che effettua il montaggio del video

Quello che manca nella cartella qui sopra è “Episode.mp4”, supponiamo che ci sia, e pensiamo ad esso come se fosse la nostra puntata.

Cosa contiene lo script Powershell? E’ semplice!

$InputFile = "Episode.mp4"

#--------------------------------------
#Please don't touch these values
#--------------------------------------
$ExePath = ".\ffmpeg.exe"
$OpeningFile = "In.mp4"
$EndingFile = "Out.mp4"
$FinalFile = "FINAL_" + $InputFile
#--------------------------------------

# Concatenate "In.mp4" + $InputFile + "Out.mp4"
# Save the result in $FinalFile
& $ExePath -i $OpeningFile -i $InputFile -i $EndingFile -filter_complex '[0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a]' -map "[v]" -map "[a]" $FinalFile

Ci sono un po’ di variabile definite nello script.

  • $InputFile : è il nome del file che contiene il nostro episodio
  • $ExePath : path dove recuperare ffmpeg.exe
  • $OpeningFile : video di apertura
  • $EndingFile : video di chiusura
  • $FinalFile : nome del file video finale che verrà generato (uso come prefisso “FINAL_” rispetto al nome del file contenuto in $InputFile)

L’ultima linea esegue ffmpeg e procede al concatenamento dei tre video, che come si vede dal commento è un banale “In.mp4” + “Episode.mp4” + “Out.mp4”. La sintassi è alquanto criptica, devo dire. Ovviamente ho cercato la soluzione e poi l’ho adattata ai miei scopi.

Secondo me, se gestite un sito di video (su Facebook, YouTube, etc.) o magari una community che intende pubblicare frequentemente dei video, è uno script più che utile, perchè vi permette di registrare la vostra puntata sotto forma di Episode.mp4, copiare il file nella cartella giusta, lanciare lo script ed in pochi minuti ottenete il video montato, con la sigla di apertura & chiusura.

ffmpeg fa tantissime altre cose (cambio di risoluzioni o di aspect-ratio di un video, cambiamento del bitrate per diminuire la qualità ed ottenere un file più compatto), etc. Googlate e carpite la sintassi che serve ai vostri scopi.

Send to Kindle

Come bloggare nel 2017

Ci sono tanti software per scrivere e postare post sul proprio blog, ma il mio preferito (idem per tanti altri) rimarrà sempre il mitico Windows Live Writer, che fa parte della suite Windows Live Essentials, e che purtroppo risulta deprecato. E allora, come facciamo? Cerco di fare un po’ chiarezza, e di consigliarvi qualcosa.

Open Live Writer
Su utilizzate Windows 10 (mi auguro di sì) potete scaricare dal Windows Store Open Live Writer.

Di fatto è il porting di Windows Live Writer come Universal Windows App. Funziona alla perfezione, perchè è di fatto lo stesso applicativo convertito come UWP. Dal mio punto di vista ha un solo piccolo grande difetto: ad oggi non supporta i plugin. Cosa significa? Significa che se nei vostri post scrivete ed al massimo mettete qualche immagine, video od altri contenuti di questo tipo, vi va benissimo. Se invece eravate abituati ad utilizzare qualche plugin per inserire del codice in qualche linguaggio, oppure per inserire emoticon, oppure per embeddare video da YouTube o simili, siete fregati, perchè Open Live Writer non supporta i plugin.

Windows Live Writer
Ok, è deprecato, ma chi se ne importa, direte voi?

Se cercate “windows live writer download” su Google, per esempio, troverete probabilmente questa pagina. Da qui scaricherete un file wlsetup-web.exe, che è un installer minimale per la suite Windows Live Essentials. Se tenterete l’installazione, otterrete il seguente messaggio di errore:

image

Quindi, sembrerebbe che non si possa procedere. Ho trovato questo post su Technet, però, che risolve il problema. Si tratta in pratica di scaricare il file wlsetup-all.exe, che in pratica è un installer offline della suite Live Essentials (sono 130Mb). Questo, anche sotto Windows 10, funziona alla perfezione, e per giunta vi evita qualsiasi download. Il post spiega anche che è possibile lanciare un comando da command prompt per eseguire l’installazione in modalità silente, ma a me non è interessato particolarmente.

Questo è un passaggio importante, perchè così si può installare il caro buon vecchio WLW, utilizzando i nostri cari vecchi plugin, per postare codice C#, XAML, Javascript, etc. etc.
Postare senza incertezze!

NOTA IMPORTANTE: se per caso quel post dovesse sparire, e di conseguenza anche il link per fare il download, l’ho messo a disposizione anche io direttamente qua sul mio blog. Garantisco, per quello che posso, che è identico all’originale e non contiene virus! Smile

Word
Non scherziamo. Non fatelo. Non utilizzatelo.
Word è nato per altri scopi ed altri utilizzi. Non utilizzatelo per il vostro blog.
Nessuna scusante

L’editor online del vostro blog engine
Rimane sempre validissima l’opzione di utilizzare l’editor online fornito dal vostro motore di blog. Io utilizzo ormai da anni WordPress, che fornisce un editor potentissimo. Ma sapete come la penso: se posso, evito di utilizzare un’applicazione web (sono rarissimi i casi in cui lo faccio, primo fra tutti direi Facebook).

Altro?
Ho fatto ricerche, prima di scrivere questo post, ma non ho trovato nulla di davvero utile. Forse ai punti vince Open Live Writer, che va benissimo se non siete dev e quindi inserite solo del testo. Se avete bisogno di più e di plugin, puntate al sempreverde Windows Live Writer.

Send to Kindle

Show Cars è morto, lunga vita a CharMapMe!!!

Che Show Cars fosse un nome orribile per un tool nato sulle orme del charmap di Windows, è fuori di dubbio. Che prima o poi dovessi riscriverlo, o quantomeno ribattezzarlo in altro modo, idem.

Ed ecco quindi che ho trovato il tempo di farlo.

image

Lo trovate qui : http://charmapme.azurewebsites.net/

Il vecchio sito, che non menziono per renderlo il più possibile obsoleto, vi reindirizzerà automaticamente verso questo nuovo indirizzo.

Questa volta il nome non l’ho deciso io, ma un noto MVP (o ex? o futuro? non svelerò mai la mia fonte amica) a cui ho chiesto consiglio. Perciò state attenti a giudicarlo! Smile

Show Cars è morto, lunga vita a CharMapMe!!!!
Di cosa stiamo parlando? Di un tool per sviluppatori, ma non solo, che nasce con lo stesso intento del charmap di Windows, ovvero farvi sfogliare tutti i font di Windows, installati e non, per permettervi di cercare e trovare il più velocemente possibile il carattere desiderato da inserire ovunque vi serva: un documento Word, un foglio Excel, oppure una pagina web, oppure una Windows/Page di XAML.

E’ un tool per sviluppatori, perchè vi permette di generare controlli per le seguenti piattaforme:

  • Universal Windows Platform (XAML)
  • Windows Presentation Foundation (XAML)
  • HTML5 (HTML, ovviamente)

E’ comodo perchè rispetto al charmap originale di Windows:

  • la finestra è ridimensionabile
  • i caratteri sono ridimensionabili (così non diventate miopi per vederli)
  • è più colorato e piacevole da utilizzare
  • vi fa sfogliare i font installati o quelli contenuti nei file .ttf
  • vi fa sfogliare i caratteri a paginate (numero di caratteri personalizzabile)
  • vi permette di taggare i caratteri con i chartag
  • è possibile cercare caratteri in base ai chartag che avete assegnato

Cosa sono i chartag?
I chartag sono una feature che ho implementato a mio avviso molto utile: vi permette di taggare un particolare carattere con uno o più tag a vostra scelta, separati da virgola. Esempio: se vedete i caratteri $ (dollaro), € (euro), ₽ (rublo), T (tenge), potreste deciderli di taggarli come currency. Oppure potreste decidere di marcare i classici simboli che troviamo su una toolbar (le icone del nuovo, salva, formattazioni varie, copia, incolla, etc.) con il tag toolbar, e così via. A che scopo? CharMapMe vi permette di effettuare delle ricerche sui caratteri per chartag, così da recuperare più velocemente tutti quei caratteri che avete precedentemente taggato.

Dallo screenshot qui sotto magari potete intuire questa feature.

Come si può facilmente immaginare, ho scritto CharMapMe in base alle mie esigenze di sviluppatore, e quindi ho cercato di inserire tutte quelle feature che trovavo più utili.

Quindi, se credete che CharMapMe possa esservi utile, puntate il vostro browser all’indirizzo:
Lo trovate qui : http://charmapme.azurewebsites.net/

Tutti i feedback del caso sono ovviamente ben accetti!

Send to Kindle

Windows 10 : impostare una connessione Wifi come “connessione a consumo”

Con Windows 10 è possibile impostare una connessione come “a consumo”. Quando si è connessi ad una rete di questo tipo, Windows fa più attenzione al consumo della rete, appunto, evitando di scaricare aggiornamenti di Windows e soprattutto misurando il traffico di rete, così che possiate avere più controllo su ciò che inviate e ricevete dalla rete. Tra l’altro – piccola annotazione per i dev – quando sviluppate un’applicazione UWP potete chiedere al sistema operativo a quale tipo di connessione siete connessi, ed agire di conseguenza in un modo o nell’altro.

Usare Windows 10 in mobilità è sempre più frequente, e quindi se ci si connette tramite una chiavetta Internet, è importante bloccare troppi download gestiti dal sistema operativo.

Come si fa?

E’ molto semplice.

  1. Cliccate con il pulsante sinistro del mouse sull’icona del WiFi nella tray-bar di Windows 10
  2. Cliccate su “Impostazioni di Rete”, o “Network Settings” in inglese
  3. Cliccate su “Gestisci reti note

Comparirà l’elenco di tutte le reti WiFi che il vostro Windows 10 conosce.
Cercate nell’elenco quella che vi interessa e selezionatela. Cliccate su Proprietà.

Spostate l’interruttore “Imposta come connessione a consumo”, ed il gioco è fatto!

Send to Kindle

Controlli UWP e DeferLoadStrategy

Questa sera qui sul mio blog linko semplicemente questo articolo che parla di Universal Windows Platform, dei suoi controlli e della possibilità di ritardare il loro caricamento tramite la proprietà DeferLoadStrategy. Quest’ultima sostanzialmente si occupa di evitare di caricare il visual tree di tutti quei panel (ma in generale è un ragionamento che si applica a tutti i controlli UWP) che soddisfano due condizioni:

  • DeferLoadStrategy = “Lazy”
  • Visibility = “Collapsed”

Davvero comodo in ottica UWP, dove sappiamo benissimo che le view devono adattarsi a diverse piattaforme e scenari. Giocando con queste nuove proprietà è possibile ottimizzare il parsing ed il caricamento dello XAML facendo in modo che il visual tree contenga solo i controlli UI previsti.

Me lo ero appuntato su Twitter, ma riportato qui sul mio blog mi risulta più comodo!

Buona lettura & Buon sviluppo!!!

Send to Kindle

TinyTake: cattura schermate e registrazione video

L’altra sera mi sono accorto che per dimostrare l’efficacia della Adaptive UI di Windows 10 era molto meglio registrare un breve video, giusto per mostrare cosa accadesse alla UI quando la finestra veniva ridimensionata. Uno screenshot non rende l’idea. Così ho navigato un po’ alla ricerca di un software freeware per registrare un video del mio schermo, allo scopo di uploadarlo su YouTube e poi di renderlo visibile attraverso il mio blog. Di strumenti di questo tipo ce ne sono tanti, ma l’altro giorno mi sono imbattuto in TinyTake, ottimo freeware scaricabile da qui.

tiny_take

Pro:

  • ha una bella UI, che non guasta mai
  • cattura immagini da: porzioni dello schermo, finestre, full-screen o webcam
  • registra video del vostro deskop o dalla vostra webcam
  • pubblica direttamente e senza troppi sforzi su YouTube, previo login ed autorizzazione

Contro:

  • richiede la creazione di un account TinyTake
  • video di massimo 5 minuti (se c’è bisogno di più tempo dovete invitare amici e fare in modo che questi si logghino davvero)
  • non è possibile registrare un video senza la componente audio (io ho impostato un microfono e nelle opzioni di Windows ho messo a zero tutto il volume)

Direi che fa al caso mio. Promosso!

Send to Kindle

Windows 10 e Remote Desktop

Ho migrato entrambi i miei PC a Windows 10, ed ho avuto difficoltà ad effettuare connessioni con Remote Desktop. Il motivo è che di default la connessione di rete che Windows 10 imposta (cablata o WiFi che sia) è di tipo pubblico, e quindi connessioni RDP su questo tipo è negata.

Per risolvere è sufficiente seguire questi passi:

  1. cliccare con il destro sull’icona della connessione di rete e raggiungere il Centro connessioni di rete

    rete01

  2. Cliccare su Gruppo Home in basso a sinistra
  3. Cliccare il tipo di rete da Pubblico a Privato, evitando – se non serve – di connettersi ad un Gruppo Home come viene suggerito di fare

    rete02

  4. Non appena il tipo di rete cambia e diventa privata, Windows vi propone di andare alla ricerca sulla vostra LAN di tutti i dispositivi di rete, come stampanti e TV. Accettate se vi fa comodo

Fatto questo, le connessioni RDP dovrebbero funzionare regolarmente.

Il link originale da cui ho tratto questo post, e grazie al quale ho risolto il problema, è il seguente : http://www.tenforums.com/tutorials/3982-rdc-connect-remotely-your-windows-10-pc.html.

Send to Kindle

Lancio Windows 10, io c’ero!

Lo scorso 29 Luglio ero nella sede Microsoft Italia di Peschiera Borromeo per partecipare insieme ad  un sacco di gente al lancio dell’ultimo sistema operativo di casa Microsoft. Una bellissima giornata. Un sacco di chiaccherate, un sacco di gente nuova, un grande casino, una fetta di torta, qualche gadget veramente figo. Felice di aver conosciuto, tra le altre persone, anche Evita Barra, sorella di Francesca, persone che seguo sui social da un po’ di tempo per motivi differenti (la prima – evidentemente – lavora in Microsoft; la seconda – invece – è scrittrice/giornalista/presentatrice di fama nazionale, di cui compro libri, mi appassiona il suo lavoro, ed ho redatto la sua pagina Wikipedia). Effetto strano quello di aver reincontrato in quel contesto alcuni dei ragazzi del progetto Skills4You a cui ho partecipato come docente.

WP_20150729_13_43_54_Pro__highres

Detto questo, la mia storia d’amore da Windows Insider con Windows 10 è cominciata maluccio, perchè le prime build proprio non mi convincevano.

WP_20150729_13_46_40_Pro__highres

Ma man mano che si avvicinava il 29 Luglio, vedevo le cose migliorare, fino ad arrivare alla versione attuale decisamente più funzionale ed adatta alla distribuzione in tutto il mondo.

Sono stato anche intervistato, insieme ad altri amici della community, per la mia esperienza da Windows Insider. Il video è su YouTube ed è visibile qui.

Felicissimo di essere stato uno dei protagonisti di questa magnifica giornata!!!!

Send to Kindle