Skip to main content

VMware 10 e Windows Update KB2995388: Not enough physical memory available

Gli utenti che utilizzano la versione 10 di VMware Player o Workstation sotto Windows e tengono aggiornato il proprio sistema incontreranno molto probabilmente un problema di questo tipo:

Error_msg

L’errore è dovuto a una incompatibilità tra la versione di VMWare in oggetto e l’aggiornamento KB2995388 rilasciato da Microsoft tra ottobre e novembre 2014. Il problema è stato subito segnalato dal team di sviluppo di VMware, che annuncia la prossima pubblicazione di un fix per risolvere il problema. Nel frattempo, l’unica soluzione percorribile è quella di disinstallare l’aggiornamento dal proprio sistema (Pannello di Controllo -> Programmi e Funzionalità -> Visualizza Aggiornamenti Installati):

Control_panel_2

Per ulteriori informazioni sull’errore “Not enough physical memory” si consiglia di fare riferimento all’articolo pubblicato sul blog di sviluppo di VMware.

 

 

Android SDK: quando Eclipse si blocca su “Resolving error markers” o “Android SDK Content Loader”

Gli sviluppatori Android che non sono ancora passati ad Android Studio e continuano a lavorare su piattaforma Eclipse sono spesso costretti ad avere a che fare con il problema del mancato caricamento del workspace, che solitamente si blocca in conseguenza di uno di questi due task: Android SDK: Resolving error markers…Android SDK Content Loader, che non di rado restano fermi al 0% o al 100% senza dare all’utente la possibilità di interagire con la GUI.

Nella maggior parte dei casi per risolvere questo problema è sufficiente eseguire Eclipse con le opzioni -clean e -refresh nel seguente modo:

Vista la frequenza con cui questo accade è consigliabile creare un batch file apposito. E’ sufficiente dargli un nome (il mio si chiama eclipse.clean.refresh.bat) e inserirlo nella cartella principale di Eclipse:

Quando questo comando non basta è necessario adottare un approccio più aggressivo, eliminando la cache che i componenti dell’SDK creano nella cartella .android situata nel profilo dell’utente corrente. Il batch file diventa quindi il seguente:

Prima di eseguire questi batch file assicuratevi che l’applicazione Eclipse sia chiusa: se necessario, chiudetela in modo forzato tramite Task Manager.

 

Abilitare il download di un file con estensione .APK tramite IIS

Nello sviluppo di una applicazione Android capita spesso di trovarsi a fornire al cliente e/o ai beta-tester una URL per scaricare un .APK  non presente – o non ancora pubblicato – sul Google Store Market. Siccome la maggior parte dei web server (tra cui IIS) non supportano nativamente il MIME-type corrispondente all’estensione .apk, motivo per cui in molti casi la URL che forniremo presenterà un errore 404 – Page Not Found. Per risolvere il problema è sufficiente aggiungere il MIME-type corrispondente ai pacchetti di  applicazione Android nel seguente modo:

  • Aprite il pannello di gestione IIS.
  • Posizionatevi, nell’elenco a sinistra, sulla entry corrispondente alla configurazione generale di IIS (pt. 1 in figura) così da rendere le modifiche che faremo valide per tutti i siti passati, frequenti e futuri. Nel caso in cui si voglia gestire il MIME-type .apk limitatamente a un singolo sito, posizionatevi invece sulla entry corrispondente al sito in questione.
  • Fate click sulla icona “MIME Types” nell’elenco di icone che si aprirà a destra. Vi si aprirà un elenco dei MIME-type attualmente supportati.
  • Fate click su “Add…” in alto a destra (pt. 2 in figura) e aggiungete il seguente MIME-type (pt. 3 in figura):
    • Estensione: .apk (assicuratevi di includere il punto)
    • MIME-type: application/vnd.android.package-archive

(click sull’immagine per ingrandire)

Inutile dire che questa semplice operazione può essere ripetuta per abilitare il download di file aventi qualsiasi estensione.

Se non utilizzate l’interfaccia di gestione IIS e/o preferite operare direttamente a livello di web.config potete seguire le istruzioni descritte nell’apposita pagina ufficiale relativa alla configurazione di IIS.

EDIT: Nel caso in cui abbiate bisogno di abilitare il download anche per i file App per iOS (estensione .ipa) vi consiglio di leggere questo articolo. Se invece volete abilitare il download dei file per Windows Phone (estensione .xap) vi consiglio di leggere questo articolo.

 

HTTP Basic Authentication con ASP.NET MVC tramite ActionFilter

Nello sviluppo di una applicazione ASP.NET MVC è possibile che prima o poi ci si trovi nella necessità di restringere l’accesso ad una o più risorse web. Se la nostra applicazione prevede un sistema di autenticazione di qualsivoglia tipo (come ad esempio ASP.NET Membership Provider o il più recente ASP.NET Identity) è possibile sfruttare il sistema di utenti e ruoli predefinito per restringere l’accesso alle risorse che vogliamo tramite l’utilizzo dell’attributo AuthorizeAttribute presente nel namespace System.Web.Mvc a livello di Controller o di singolo ActionResult:

Questo approccio richiede però necessariamente che l’utente effettui un login ed è quindi poco indicato qualora si voglia mettere in piedi un WebService o una interfaccia RESTful di qualsivoglia tipo. Per queste situazioni specifiche è probabilmente più indicato uno dei meccanismi di autenticazione previsti dal protocollo HTTP: Basic, Digest, NTLM solo per citarne alcuni. Il più diffuso, nonché il più semplice da supportare in ambiente MVC, è senza dubbio il meccanismo di Basic Authentication, per implementare il quale è sufficiente aggiungere al proprio progetto il seguente attributo ActionFilter personalizzato:

Come si può vedere il filtro controlla la presenza del campo Authorization negli header della Http Request e agisce di conseguenza:

  • Se presente, confronta l’username e la password presenti nella richiesta con quelle previste dal sistema.
  • Se non presente, produce un Http Response di tipo 401 per avvisare il client che per accedere alla risorsa richiesta è necessario l’inserimento di apposite credenziali. Questo tipo di risposta produrrà, nella maggior parte dei browser web, la classica finestra pop-up di inserimento di username e password.

L’implementazione mostrata prevede delle credenziali inserite ad-hoc, ma può essere agevolmente estesa per far sì che l’ActionFilter utilizzi un qualsivoglia sistema di autenticazione personalizzato (MembershipProvider, ASP.NET Identity, base utenti personalizzata su DB esterno o su file, etc.) semplicemente eliminando il costruttore personalizzato e modificando il contenuto del blocco IF presente nell’override del metodo OnActionExecuting.

Il principale vantaggio di gestire la Basic Authentication in questo modo è che l’ ActionFilter così creato può essere utilizzato sia a livello di Controller che di singolo ActionResult, proprio come l’attributo Authorize menzionato sopra:

 

 

I Guardiani della Galassia – Recensione

Guardians of the Galaxy - locandinaArriva anche sugli schermi italiani I Guardiani della Galassia, adattamento dell’omonima graphic novel del 2008 ad opera di Dan Abnett e Andy Lannind basata a sua volta sulla serie originariamente pubblicata sulla rivista Marvel Super Heroes nel lontano 1969. La storia si concentra sulle avventure di Peter Quill, in arte Star Lord, rapito e cresciuto da un gruppo di pirati spaziali fino a diventare una sorta di avventuriero cosmico, costretto suo malgrado ad affrontare una minaccia intergalattica che rischia di condannare l’intero universo:  ad aiutarlo contro i suoi spietati avversari, dietro i quali si celano gli intrighi intergalattici del malvagio Thanos, una scanzonata compagine di anti-eroi composta dalla combattente Gamora, il vendicativo Drax il Distruttore e un’improbabile coppia di cacciatori di taglie formata dal procione Rocket e dalla pianta umanoide Groot.

Guardians of the Galaxy - Movie Poster - Wallpaper 1200

(altro…)