A Ovest Di Paperino

Welcome to the dark side.

  • Buone feste 2009

    path4948 Lettura consigliata se proprio qualcuno non si ritrova niente da fare…….

    Rock, Paper, Scissors: Game Theory in Everyday Life

    -quack

  • Scherzi da perfidus

    Puntate precedenti: scherzi da cracher e scherzi da accher.

    Da quando ho cambiato capo non è più come prima. Lo stile da carogna mi manca un po’ e non ci ho pensato due volte quando ho visto questa chiavetta USB recensita da qualche parte:

    perfidus

    Trattasi di una Phantom Keystroker 2. Interessante l’avvertenza d’uso sul sito:

    The Phantom Keystroker never hits the return key and it never clicks the mouse button. However you should not use it on anyone's system who is doing critical work where disruption could cause serious consequences. The Phantom Keystroker is a joke, like any joke you need to use prudence and judgement when executing it. You have been warned!

    Non so se il lavoro del mio ex-capo possa essere considerato critico, ma spero che la dongle mi arrivi prima del 2010 o prima che Ballmer venga licenziato. Girano certe voci

    -quack

  • L’Heisenbug perfetto

    Pochi giorni fa mi sono riscontrato nel cosidetto Heisenbug perfetto. Di solito gli Heisenbug hanno a che fare con il multi-threading circostanza per cui aggiungere qualche breakpoint al codice sfasa il timing dell’applicazione e per tanto potrebbe causare la scomparsa di un baco sotto osservazione. Nel mio caso non c’era nessun multithreading, ma bastava semplicemente “osservare” il comportamento dell’oggetto misterioso per deviarne il flusso di esecuzione. Ridotto al minimo l’Heisenbug è descritto qui sotto:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

     

    namespace Heisenbug

    {

        class MyClass

        {

            bool here;

            public override string ToString()

            {

                string result = here.ToString();

                this.here = true;

                return result;

            }

     

            public MyClass()

            {

                this.here = false;

                // put a breakpoint on the following line

                // and add 'this' to the watch window and

                // then execute

                Console.WriteLine(this.ToString());

            }

        }

     

        class Program

        {

            static void Main(string[] args)

            {

                MyClass c = new MyClass();

                Console.WriteLine(c.ToString());

            }

        }

    }

    Normalmente l’applicazione scrive False-True sulla console. Se invece si aggiunge un breakpoint nella riga del costruttore indicata e si osserva appunto l’oggetto appena instanziato il risultato diventa True-True. La cosa non è stata banale da individuare perché il tutto era offuscato da qualche altro centinaio di righe di codice e parlandone con il collega pazzo con la capigliatura più caotica della mia ne è nata una questione filosofica: ma il debugger può permettersi davvero di invocare metodi mentre un oggetto è ancora in costruzione? Girerò la domanda a quelli del team di Visual Studio per sapere se il comportamento è documentato (prescritto) da qualche parte.

    -quack

    Update:

    image

    Dalla regia mi suggeriscono che questo comportamento può essere disabilitato ed il valore di default in effetti makes sense.

    VS – Developer 1-0 e palla al centro

  • Fryday

    Il Venerdì è considerato il giorno di Fry’s (vedasi) in quanto il negozio in questione pubblica sul giornale locale 4 pagine di offerte in genere tra il mediocre e l’eccezionale. Un esempio di offerta eccezionale era l’SSD Patriot da 32GB a 89$ con 30$ di rebates (in pratica 70$); oltre a questo gli annunci del Venerdì hanno un’altra interessante peculiarità e cioé che sono validi per un’intera settimana a differenza delle 24-48-72h delle inserzioni “normali”.

    La cosa buffa è che il giornale locale, dopo un esperimento durato pochi mesi, ha deciso di togliere le inserzioni pubblicitarie dalle pagine online nascondendosi dietro l’idiozia di voler vendere più abbonamenti. Nessuno ha mai capito chi è stato il genio dietro tale trovata, ma questo non ha mai fermato l’opera di uno stuolo di volontari che dietro compenso di Google Ads scannerizza, classifica e pubblica le pagine del Venerdì su un sito dedicato chiamato appunto Fry’s Electronic Ads.

    Un evento con probabilità non nulla è quello di scoprire che abbiano deciso di mettere in offerta un prodotto in vendita il Venerdì precedente a prezzo pieno, nel qual caso si è in presenza di un Black Fryday. Data la mia proverbiale sfiga, nomen omen, questa settimana tra rebate e sconto alla cassa hanno deciso di dimezzare il prezzo dello stesso switch KVM che ho comprato domenica scorsa. Teoricamente, data la loro politica, potrei restituire il prodotto e ricomprarlo o semplicemente presentarmi alla cassa per ricevere indietro almeno la quantità di sconto esclusa di rebate. Praticamente in alcuni casi come il mio non ne vale assolutamente la pena. A meno che…

    -quack

  • Tor exit node lookup in ASP.Net

    Potrebbe tornare utile a qualcun altro:

    using System.Web;

    using System.Net;

     

    namespace TorHelper

    {

        public class TorHelper

        {

            const string TOR_EXIT_IP = "127.0.0.2";

     

            private static string ResolveName(string name)

            {

                string ip = (string) HttpContext.Current.Cache[name];

                if (ip == null)

                {

                    ip = ResolveDNS(name);

                    HttpContext.Current.Cache[name] = ip;

                }

                return ip;

            }

     

            private static string ResolveDNS(string name)

            {

                try

                {

                    IPHostEntry host = Dns.GetHostEntry(name);

                    if (host.AddressList.Length == 0)

                    {

                        // this should never happen

                        // but throwing an exception is expensive.

                        return null;

                    }

                    return host.AddressList[0].ToString();

                }

                catch(SocketException)

                {

                    // this can happen when the DNS doesn't get resolve

                    // and it actually happens for all IP addresses
                    // that are
    not part of the TOR exit list

                    return String.Empty;

                }

            }

     

            public static bool IsTorExitNode(string ipAddress)

            {

     

                try

                {

                    string torExitEntry = String.Format(

                       "{0}.{1}.{2}.ip-port.exitlist.torproject.org",

                        ReverseIPOctet(ipAddress),

                       "80",

                        // Domain name is the running

                        // ASP.Net webSite

                        ReverseIPOctet(ResolveName(DomainName)) );

     

                    if (ResolveName(torExitEntry) == TOR_EXIT_IP)

                    {

                        return true;

                    }

                }

                catch (Exception e)

                {

                    // log the error

                }

     

                return false;

            }

     

            private static string ReverseIPOctet(string ipAddress)

            {

                string[] octets = ipAddress.Split('.');

                return String.Format("{3}.{2}.{1}.{0}",

                   octets[0],
                   octets[1],
                   octets[2],
                   octets[3]);

            }

     

        }

    }

    Su questo blog i commenti lasciati via Tor finiscono in coda di moderazione insieme a quelli che partono da una subnet ban list. Ed ora il giochino si fa più interessante.

    -quack

    P.S. il pezzo di codice di cui sopra è rilasciato al pubblico dominio con la licenza SQLite:

    May you do good and not evil
    May you find forgiveness for yourself and forgive others
    May you share freely, never taking more than you give.

  • Licenze

    Non pensavo mi sarebbe mai capitato di imbattermi in una licenza peggiore di quella GPL3 (*) ma invece...

    Parto dal presupposto che una possibile suddivisione del software sia quella di software per sviluppo vs. software per “utenti finali”, ove per software di sviluppo si intende tutta quella caterva di applicazioni che servono a generare altro software.

    Il software per “utenti finali” di solito ha licenze normali: nessuno si sognerebbe di non consentire all’utente di un Word Processor di stampare o di salvare i file (eccezione: il software shareware/trialware).

    Nel mondo dei programmatori invece esiste il concetto di “licenza per sviluppatore” anziché utente: la differenza è subdola ma in alcuni casi diabolica. Supponiamo che il tool sia un compilatore a riga di comando: se Pinco e Pallino scrivono codice, ma è solo Pallino ad usare il tool per compilare, Pinco potrebbe violare la licenza di [non]-uso. Sembra un paradosso ma mi sono imbattuto in una libreria (which shall remain nameless) “royalties free” ma licenziata “per sviluppatore” e che per sviluppatore si intendeva chiunque modificasse l’applicazione. Alla mia richiesta di delucidazioni su cosa significasse “sviluppatore di applicazione” nel contesto royalties free mi hanno risposto seccati chiedendomi se stessi cercando di circumnavigare la licenza; ho chiarito che non mi interessava circumnavigarla ma capire se fosse possibile che “non-sviluppatori” della mia applicazione potessero scriverne template o plugin o se invece tali interventi facessero figurare gli utenti finali come “sviluppatori della mia applicazione”.

    La risposta: il silenzio. Contenti loro…

    licenza

    (l’immagine è rubata da un post a tema di Coding Horror)

    -duh

    (*) ovviamente il metro di paragone è basato sul mio gusto personale.

  • Chiavetta USB multi boot per Windows

    Antefatto: ho deciso di fare l’upgrade a Windows 7 del mediacenter allettato dalla possibilità di installare un sintonizzatore CableCard e guardare anche qualche canale criptato. Avevo preso in considerazione anche di sostituire l’architettura attuale con un Atom per il surriscaldamento estivo e conseguente rumore di ventolame, ma poi ho pensato che i canali criptati hanno bisogno di una CPU robusta per poter essere fruibili normalmente. Ho deciso di visitare Fry’s per approfittare di due offerte “1 day only”: un sistema di raffreddamento liquido Corsair dal prezzo contenuto (56$) e con ottime review e un HD SSD da 32GB grande abbastanza per Windows 7 senza fronzoli ad un prezzo altrettanto decente (50$ dopo rebate), interessante non tanto per le prestazioni ma per il minor apporto di energia cinetica/termica/sonora nel sistema.

    L’HD è risultato probabilmente difettoso, in quanto è scomparso completamente dal radar nel mezzo dell’installazione dell’OS; il sistema di raffreddamento invece era abbastanza ingombrante per il case living room friendly della terza versione del mediacenter. È dovuto scattare il cosiddetto pellegrinaggio di ritorno per la restituzione del radiatorone e la sostituzione dell’HD. Ho approfittato per cercare una chiavetta da 4GB da rendere bootabile e verificare alcune teorie sulla lentezza di installazione di Windows su certi sistemi, ma quel giorno era in offerta irrifiutabile venticinquedollaripiùtasse una chiavetta da 16GB. Ho pensato: qualcuno si sarà già posto il problema di creare una chiavetta multiboot (x86, AMD64, se rver, client, ecc.) e che sarebbe tornata molto comoda al posto delle solite 3-4 chiavette per tutti gli OS. Per il raffreddamento ho trovato una soluzione molto più pratica e decisamente meno costosa.

    Tornando in topic: è stato un bagno di sangue ma alla fine ce l’ho fatta. In sintesi: bisogna creare più di una partizione usando uno di quei tool che flippa il “removable bit” e ingegnarsi con qualche bootloader abbastanza avanzato da starci nel Master Boot Record ed essere al tempo stesso in grado di giocare al gioco delle tre carte con le partizioni create.

    In dettaglio, anche per mia futura memoria, i passi seguiti.

    Ingredienti:

    Passi, da seguire in ordine religioso:

    1. Installare GRUB sull’MBR della chiavetta usando il GUI installer; la procedura è indicata in dettaglio nella sezione uno di questa guida (in inglese).
    2. Flippare il media bit usando il tool della Lexar (funziona anche su chiavette di marca diversa); rimuovere e reinserire la chiavetta
      Lexar-Flip-Removable-Bit
    3. Creare due o più partizioni a seconda del numero di OS da rendere installabili; nel mio caso 3 (WHS, Win7 x86/64) più una per i dati. La prima partizione va formattata come FAT o FAT32 mentre per le altre si può scegliere anche NTFS
    4. copiare il contenuto dei dischi di installazione su ogni partizione
    5. creare un file di testo con il “nome” della partizione in ogni partizione (es.: WHS.txt; Win7x86.txt; ecc.)
    6. copiare il file grldr nel root folder della prima partizione
    7. creare un file di testo con il nome di menu.lst nel root folder della prima partizione e editarlo usando questo template:

    title Windows Home Server
    find --set-root /win7x86.txt
    hide()
    […]
    find --set-root /WHS.txt
    unhide ()
    chainloader /bootmgr

    title Windows 7 x86
    find --set-root /WHS.txt
    hide ()
    […]
    find --set-root /win7x86.txt
    unhide ()
    chainloader /bootmgr

    In pratica: ogni voce di menu si occupa di nascondere tutte le partizioni non interessanti usando i tag file nel punto 5. e di rendere disponibile solo quella da cui fare il boot, che viene settato con il comando chainloader.

    L’installazione è stata avviata con successo per tutti i tre OS sul mio laptop e perciò, come sempre in questi casi è garantita:

    works-on-my-machine-starburst

    -quack

  • Tic-tac tic-tac…

    Come disse il Sinofsky, tic-tacuna volta che si “annuncia” una data, si è già in ritardo.

    Siòre e siòri, Windows 8 sarà “rilasciato” nel 2012. E se ritarda di più di qualche mese, chissenefrega, Giacobbo ha detto che la fine del mondo è prevista per Dicembre dello stesso anno.

    Esempio bonus tratto da “The Old New Thing” blog.

    La roadmap è pubblicata.

    Tic tac tic tac tic tac…

    -quack

  • Grandi Magazzini

    image

     

    Apple gets the opposite of what they intended: the version of an app currently available in the App Store tends to be an old and buggy one. One developer told me:

    As a result of their process, the App Store is full of half-baked applications. I make a new version almost every day that I release to beta users. The version on the App Store feels old and crappy. I'm sure that a lot of developers feel this way: One emotion is "I'm not really proud about what's in the App Store", and it's combined with the emotion "Really, it's Apple's fault."

    Another wrote:

    I believe that they think their approval process helps users by ensuring quality. In reality, bugs like ours get through all the time and then it can take 4-8 weeks to get that bug fix approved, leaving users to think that iPhone apps sometimes just don't work. Worse for Apple, these apps work just fine on other platforms that have immediate approval processes.

    […]

    I just bought a new 27" iMac a couple days ago. It's fabulous. The screen's too shiny, and the disk is surprisingly loud, but it's so beautiful that you can't make yourself care.
    So I bought it, but I bought it, for the first time, with misgivings. I felt the way I'd feel buying something made in a country with a bad human rights record. That was new. In the past when I bought things from Apple it was an unalloyed pleasure. […] They make such great stuff, but they're such assholes. Do I really want to support this company?

    (fonte, lo stesso Paul Graham che predicava l’avvento dei Mac)

    Se avessi Paul di fronte chiederei che cos’hanno di favoloso questi monitor da tenere i clienti in posizione supina.

    Alcuni developer rispettabili hanno cominciato a snobbare l’Apple Store.

    Schiller non la pensa ovviamente così: gli utenti sono a quanto pare contenti di usare applicazioni più bacate della media.

    Intanto posso definitivamente escludere l’X10 dalla lista dei telefoni interessanti; una rete intasata come quella di AT&T è davvero poco interessante.

    A questo punto rimane solo l’Acer Liquid MIA e qualche speranza nell’arrivo del Google Phone.

    -quack

  • Tre letture interessanti e due vincitori

    Il salto della quaglia. Don Dodge, 90 minuti dopo essere stato licenziato da Microsoft, viene assunto da google: questo post del fake Steve Jobs riassume in maniera eccellente il Dodge-pensiero. Qualcuno si diceva dispiaciuto per il fatto di aver perso un personaggio così, questo ovviamente prima del post di Don Dodge.

    Don dice che adora Android ma che prima non poteva dirlo. Le altre due letture interessanti riguardano un raffronto tra Android e iPhone e sono entrambe dello stesso tono. Sono le stesse considerazioni che ho fatto in privato con un collega che ha lavorato a versioni precedenti di Windows Mobile e che ora non si vergogna di andare in giro con un iPhone.

    Android's rapid growth has some developers worried
    The problem with iPhone killers

    Aggiungo un mio pensiero bonsai: quando è stato rilasciato il G1 l’hardware su cui girava Android era di fatto superiore al migliore iPhone disponibile e permetteva la creazione di applicazioni “interessanti” non disponibili su iPhone. A dodici mesi dal rilascio viene messo sul mercato un dispositivo nuovo al giorno basato su Android ma nessuno di questi, dal punto di vista dello schermo e del processore, compete veramente con l’iPhone. Se la musica non cambia radicalmente in pochi mesi le piattaforme concorrenti diventeranno sistemi di nicchia come lo sono OSX e Linux nel mercato desktop. Se Apple decide di lasciar perdere l’esclusiva con AT&T sul mercato americano, viste le prove generali negli altri paesi europei, per la concorrenza potrebbe essere il colpo di grazia.

    I Vincitori dello sConcorso:

    Al primo posto Vik, con il suo tema paper-desktop a cui va una copia di Windows 7 Ultimate
    Al secondo posto NickelGreen, a cui va una copia di Windows 7 Professional

    Bravi entrambi, ora mandatemi se possibile i PSD/CSS.
    Vi contatterò in privato non appena mi procuro i due premi, cosa che in questi ultimi giorni sembra essere più ardua del previsto (sold out la settimana scorsa, pochi minuti prima che raggiungessi il negozio; quando la sfiga si accanisce…)

    -quack

  • Istruzioni di non-uso per Windows 7

    È caldamente sconsigliato usare un portatile con Windows 7 come paracadute; nonostante le varie migliorie nel “settore” sicurezza, Windows 7 non può essere equiparato a dispositivi salva-vita come e non limitato a salvagenti, paracaduti, airbag, cinture di sicurezza, preservativi, mascherine anti-batteriche.

    È caldamente sconsigliato approfittare delle nuove caratteristiche di stabilità di Windows 7: per quanto se ne dica (bene) in giro Windows 7 non è resiliente a terremoti, intemperie, immersioni, martellate e forti stress di tipo chimico, fisico, elettrico o meccanico.

    mlss_luigi-hammer

    Sembra strano dover fare certe raccomandazioni, ma a leggere certe disinformazioni in giro non credo di esagerare. Ovviamente le disinformazioni di Sophos sono state subito riprese e ripubblicate con una certa enfasi dai siti disinformati di tutti il mondo: il sotto testo è sempre lo stesso, “io ho un mac e non ho di questi problemi”.

    A proposito di mela: tempo fa ho comprato Snow Leopard dal negozio fantascientifico con tanto di ricevuta via email. Senza chiedermi il permesso hanno deciso di aggiungermi alla loro mailing list di novità; dopo essermi cancellato hanno deciso che sono comunque interessato alle loro novità e continuano a spammarmi. Un po’ come succede per la nuova mirabolante versione di iTunes: vuoi abilitare l’autorun? No?? Allora te lo abilitiamo lo stesso in una maniera o un’altra buttando nel cesso anni e anni di evoluzione in termini di sicurezza. Un consiglio spassionato anche se inutile per chi mi segue: non comprate prodotti che richiedono software fogna per funzionare.

    -quack

  • Topolinia

    Il mouse secondo MS:

    MsMouse

    • carino
    • ergonomico
    • compatto
    • funzionale

    Il mouse secondo Apple:

    AppleMouse

    Il mouse secondo Open Office:

    OoMouse

    • 18 programmable mouse buttons with double-click functionality
    • Three different button modes: Key, Keypress, and Macro
    • 512k of flash memory, 63 on-mouse application profiles with hardware, software, and autoswitching capability, 1024-character macro support.
    • ….
    • Adjustable resolution from 400 to 1,600 CPI
    • Windows Toolbar Functionality (W.T.F.!)

    Giuro che appena l’ho visto mi è venuto in mente il Tron-maggiordomo.

    -quack

  • I miei guai con Windows 7

    In realtà non si tratta di guai con l’OS in sé per sé ma mi sembrava male non continuare la saga cominciata con i miei guai con il Dell (*) (nonno-copyright). Sono problemi che sto riscontrando solamente sulla workstation e molto probabilmente più a causa dell’arcana combinazione di HW/SW installato che di altro.

    1. Messenger Crash. Se messenger è impostato per l’avvio automatico al logon, in un buon 80% dei casi va in crash (access violation) immediatamente. Il mio sospetto è che il logon sia così veloce che non tutti le dipendenze sono caricate nell’ordine testato. Workaround temporaneo: evitare il caricamento automatico di messenger
    2. La SD card di Android si “smonta” immediatamente dopo la conferma. Sono in diversi a riportare questo problema che credo sia dovuto alla combinazione astrale “build del tabaccaio” + Workstation; sul laptop funziona tutto bene e prima della build taroccata sembrava funzionare alla perfezione. Workaround definitivo: aFile per Android, che crea un server WebDAV che funziona benino e mi permette di fare l’upload/download via WiFi. Sinceramente il workaround è meglio del problema e sfido i possessori di iPhone a fare altrettanto (please, non invidiatemi ) fixed con la nuova versione della build taroccata made in tobacco.
    3. Explorer freeza per circa un minuto se si clicca il tasto destro in un folder di rete: sembrerebbe un problema del menù di Mercurial; disabilitandolo tutto funziona come prima, ma per ora uso il condizionale in mancanza di controprova…
    4. Durante un risveglio mi son beccato questo errore atroce:
      The platform firmware has corrupted memory across the previous system power transition.  Please check for updated firmware for your system.
      Praticamente il BIOS ha corrotto la memoria durante l’accensione o lo spegnimento. Evento molto più unico, che raro…

    Altri guai a seguire (forse?)

    -quack

    (*) tutti scomparsi con l’installazione di Windows 7.

  • Perché Steve Ballmer non è Bill Gates

    Il 13 Gennaio 2000 Bill Gates lasciò le redini dell’azienda a Steve Ballmer.

    Il 13 Gennaio 2000, alla chiusura del mercato, le azioni MS valevano $53.905; i giorni successivi i mercati hanno preso la notizia come buona e le azioni raggiungevano, il 18 Gennaio, il valore di $57.655. Il massimo storico è stato $59.56, il 27 Dicembre 1999.

    Quasi dieci anni di carriera, e…

    grafico

    (nel momento in cui scrivo valgono $28.46, magra consolazione)

    Daniel Lyons, il famosissimo fake Steve Jobs, trae qualche conclusione in un articolo intitolato “The Lost Decade”.

    Bill Gates vs Steve Ballmer. Certo la MS di Bill Gates era quella “aggressiva”, che ancora attrae le antipatie di tanti a dieci anni e passa dalle violazioni (o presunte) più eclatanti. Però…

    -quack

  • Grandi manovre

    Oggi impacchetto l’arredamento del mio ufficio in una decina di scatole, è in atto “la reorg”. Un numero non precisato di uffici vera rimescolato: da un piano ad un altro, da un building all’altro e così via; si narra sia il più grande rimescolamento della storia di questa corporation, più del doppio del secondo in termini di grandezza. Per questo motivo, a partire da Venerdì p.v. sarò a casa per un’intera settimana. Di rimescole ne ho sopravissute tante, all’inizio della mia carriera era un continuo muoversi da un building all’altro: 24-10-8-4-42-35-26 e un paio di altri building di cui ora non mi sovviene ma questa sembra la più delicata. Il mio ufficio per questo “girone” verrà spostato nell’altra sotto-ala della stessa ala dello stesso building e siederò di fianco al mio mentor che per fortuna mi ha lasciato una caterva di libri da leggere per diventare produttivo in men che non si dica. Grandi Manovre

    In quanto allo Sconcorso do il via all’invio dei temi, che devono arrivarmi entro la mezzanotte italiana del 15 Novembre. Chi vuole può chiedere suggerimenti e fare modifiche anche all’ultimo momento, l’importante è che siano finalizzate entro la scadenza. Si possono inviare i temi in tanti modi: il più consigliato è hostarlo da qualche parte e mandare un link tramite commento o via email, ma in generale tutto fa brodo. Ai vincitori verrà richiesto il file con tutti i layer (Photoshop o Paint.Net) in modo tale che possa modificare qualche aspetto: il diavolo è nei CSS-dettagli. In bocca al lupo a tutti, anche ai miei pacchi…

    -quack

  • Installare un server Mercurial su WHS

    Dopo l’upgrade del serverozzo ho dovuto reinstallare il server Mercurial. Ho deciso di farlo da zero per segnarmi tutti i passi nel caso debba rifarlo su un altro (virtual) PC.

    La procedura che ho usato è quella indicata in questo post che spiega come installare e configurare Python, dove prelevare i file e come configurare IIS in modo tale che il server sia accessibile via HTTP.

    Dopo di che ci sono da notare un paio di cose: con la versione 1.3.1 di Mercurial va usata la versione 2.5.x di Python in quanto alcuni file binari sono compilati(*) con tale versione ed incompatibili con le successive.

    La seconda cosa importante da notare è il fatto che il client mercurial per Windows supporta solo la basic authentication, per cui la coppia utente/password viaggia in rete in chiaro. Per i paranoici ci sono due possibili soluzioni:

    1. creare un utente ad hoc su WHS solo per Mercurial
    2. installare un certificato SSL

    Io, avendo anche un’utenza DynDNS, ho voluto intraprendere la seconda strada. Se non ci si vuole procurare un certificato ufficiale che di solito costa un certo ammontare di $$ l’anno, si può usare un tool chiamato SelfSSL e che serve a generare un certificato SSL auto-certificante; il certificato va poi esportato su due file, uno contenente anche la chiave privata per future reinstallazioni del server, uno da installare su tutti i client in modo da evitare l’errore di “trusted root certificate authority” non riconosciuta.

    Allego un paio di schermate come promemoria di dove sono tutti i setting da cambiare:

    IIS management, right click sulle proprietà del sito, tab Directory Security:

    image

    Edit su Authentication and access control per abilitare la Basic Authentication e disabilitare l’accesso anonimo:

    image

    Cliccando “View Certificate” per esportare il certificato:

    image

    Il checkin completo di una nuova feature ha garantito che il tutto funziona a dovere come dovrebbe

    -quack

    (*) whatever it means.

  • What is your CRASH plan?

    Uno dei pensieri che sempre più spesso mi logora è quello del CRASH totale del server. Il sistema di pseudo-raid mi protegge dall’eventuale logorio meccanico di uno degli Hard Disk ma non ho nessuna polizza incendio&furto sul valore affettivo di certe foto o certe riprese video.

    Ci sono ottime soluzioni a pagamento per il backup in da cloud ma mi piacciono molto  poco in quanto:

    1. GB e banda hanno costi estremamente irrisori rispetto al pCrashiù economico backup online
    2. l’idea di avere le mie foto in da cloud non mi rallegra ed oltretutto l’eventuale operazione di restore risulterebbe molto dispendiosa in termini di tempo

    Ho cercato in vano a lungo un prodotto che funzionasse in maniera distribuita via p2p o similare ed ho trovato solamente un servizio dal nome evocativo di Crashplan. Pensavo ad una soluzione con un harddisk esterno da collegare al mio PC dell’ufficio ma purtroppo l’applicazione ha seri problemi con il firewall aziendale. Per il resto Crashplan permette il backup p2p criptato e sarebbe stato altresì perfetto.

    In questi giorni sto invece ripiegando su una soluzione più “artigianale”: installare un servizio RSync sul server casalingo ed un client su una workstation in ufficio che spari i file sull’HD esterno crittografato con TrueCrypt.

    Ora sono nella fase, quella della raccolta dei “componenti”. Pubblicherò i dettagli qualora il mio crash plan dovesse entrare in funzione.

    -quack

  • Regole dello Sconcorso versione bozza

    Visto che per istituire un concorso ed elargire premi bisogna contattare i monopoli di stato, ci tengo a precisare che questo sarà tutto fuorché un concorso a premi e perciò d’ora in poi semplicemente sconcorso.

    Per partecipare bisogna preparare un tema grafico che possa sostituire per qualche periodo di tempo quello corrente (i temi grafici sono piezz’ ‘e core ). Il tema può essere disegnato graficamente (Photoshop, Paint.Net, ecc.) o via CSS tenendo presente un paio di limitazioni:

    1. possibilmente niente Javascript e se necessario compatibile con JQuery
    2. la colonna del contenuto deve essere larga circa 500px (meglio ancora se 495px esatti)
    3. il tema deve essere inerente agli argomenti trattati (informatica, cazzate, America, ecc.)
    4. deve possibilmente includere la pagina 404 (esempio) e la pagina “the world is falling” (esempio)

    I vincitori li decido io e sicuramente in maniera poco obiettiva: nel senso che il tema deve per prima cosa risultare gradevole al sottoscritto . Ci sarebbe spazio anche per un secondo posto ma solo se c’è abbastanza partecipazione.

    Si può inviare sottoporre più di un tema a testa o variazione di ma si può vincere tuttalpiù un premio solo. Le regole possono cambiare ovviamente in base al feedback dei partecipanti e dei tifosi, ma saranno congelate entro una settimana ed il giorno prima (30 Ottobre PST) l’apertura dello sconcorso (31). Lo sconcorso rimarrà aperto per due settimane ed i vincitori dichiarati qualche giorno dopo per dare il tempo di pensarci.

    Se si vuole usare qualche avatar nel tema c’è a disposizione l’intero campionario Paperino-Paperinik oltre ovviamente a quelli postati qui in precedenza: è importante notare che di questi tempi ho i capelli con i riflessi blu notte.

    In bocca al lupo e che vinca il migliore.

    -quack

  • Apple style

    Per ogni party c’è sempre un rovina-feste.

    Ho installato Win7 sul vecchio Sony e funziona tutto molto bene tranne la webcam, il cui driver non ne vuole sapere di installarsi (l’installazione è per Windows Vista e tra Vista e Win 7 dal punto di vista di driver della Webcam non è cambiato niente).

    Windows 7 Upgrade Advisor riporta che i driver “sono disponibili sul sito del produttore”. Sul sito del produttore, per il VAIO VGN-SZ381P ieri era scritto che sarebbero stati disponibili con il rilascio al pubblico di Windows 7.

    Oggi c’è scritto:

    image

    Più sotto:

    AppleStyle

    Sì, certo, come no! Apro subito il portafogli. La cosa più irritante è il fatto che questi ca**ony abbiano speso tempo e pecunia per fare un sito in cui dare un annuncio “a mezzanotte” pur di non eliminare il blocco del driver della webcam. Vorrà dire che mi toccherà installare Vista, installare il driver e creare un installer a mano per bypassare il problema. (*)

    Cosa buffa anche per la scheda grafica, una normalissima NVidia Go 7400, c’è bisogno dei driver “Sony” in quanto il PnPID è “taroccato”: Apple Style per l’appunto.

    -quack

    (*) Ho poi risolto installando i driver per XP, che hanno funzionato senza menarsela tanto.

  • G.A. is coming

    È un piacere bestiale vedere che qualche volta qualcosa va secondo i piani. Dovevamo essere pronti per domani e lo siamo: Windows Compatibility Center e Windows 7 Upgrade Advisor sono RTM.

    Del Windows Compatibility Center (aka WEC) ho coordinato lo sviluppo, anche se verso la fine – quando tutto sembrava andare già per il verso giusto – mi son dato latitante. Per W7UA ci ho lasciato lo zampino in due modi: il primo, molto poco rilevante, è stato quello di giocherellare con la traduzione italiana e segnalare un paio di ‘chicche’. Il secondo contributo, quello più importante, è stato di fare in modo che la quantità di dati disponibile per WEC fosse mappata anche in W7UA con un progetto dal nome in codice PIMS: problema che si è rivelato molto più insidioso di quanto potesse apparire. PIMS è un sistema che utilizzando un meccanismo di feedback migliora i risultati con il passare del tempo. Un progetto abbastanza divertente se non fosse per l’interazione con il test team, che è stato uno dei tanti motivi che mi ha spinto ad abbandonare la via vecchia… Quindi visto che tutto funziona, sto facendo in modo che Venerdì sia l’ultimo giorno, quello di addio ai vecchi compagni e di ben trovati a quelli nuovi.

    A proposito di G.A. (general availability ovvero disponibilità al pubblico) mi è venuto in mente un modo per mettere in palio un paio di licenze retail di Windows 7: uno pseudo-concorso grafico/CSS possibilmente inter-nos per rifare quasi ex-novo il tema di questo blog. Al vincitore una licenza di W7 Ultimate, al secondo posto W7 Home premium. I due stili verranno usati come look di default in due fasi separate ed ovviamente devono rispondere ai temi di questo blog: informatica, cazzate, Seattle e…. Paperino.

    Prima di lanciare però il concorso ufficialmente, ho bisogno del parere dei possibili partecipanti sulla bontà dell’idea (la cosa deve essere divertente e non vuole essere un tentativo di procurarmi della ‘consulenza grafica’ a poco prezzo). Lasciate un commento in coda a questo post.

    -quack