Alessio Biancalana Grab The Blaster di Alessio Biancalana

Red Hat / Fedora: RPMDB altered outside of yum

Fedora htop

Di recente sulla mia workstation con Fedora ho cominciato a pastrugnare con il package management in maniera indiscriminata, così invece di far fare tutto a Yum che mi dava qualche piccola incongruenza, per installare un pacchetto mi sono avvalso di RPM puro, cosa che ormai a quanto vedo non dovrebbe essere mai fatta, demandando a yum localinstall il compito di installare pacchetti singoli.

Fatto sta, che ho avuto un feedback "strano" dalla mia macchina provando a usare direttamente RPM: ha cominciato a rompermi le scatole ad ogni operazione di gestione dei pacchetti avvisandomi che il database di RPM era stato modificato senza che Yum lo avesse autorizzato.

Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.

Al di là di ogni presa di coscienza del fatto, e procurato allarme (ok, ho scardinato RPM, ho capito), può essere utile rimettere in marcia il nostro sistema senza che mostri più quel feedback che, con tutto il rispetto, ma mi ha fatto prendere un accidente. Mi sono guardato un po' intorno e ho notato che basta dare un singolo comando per liberarsi di questo peso sulla coscienza:

$ sudo yum clean all

Occultamento di cadavere? Forse si. Ma se la macchina la amministriamo noi, chi se ne importa. Buon lavoro :-)

Photo courtesy of Kaleb Fulgham

Registry npm privato: in cloud con Nodejitsu oppure in-house

Node.js

Proprio in questi giorni, ho letto che Nodejitsu ha cominciato a implementare il proprio modello per i registry privati di pacchetti npm in modo che le aziende possano mantenere i propri package privati su un server in cloud a prezzi comunque sostenibili. Il tutto si basa sull'utilizzo del modulo di Node smart-private-npm; di seguito, un esempio preso dal loro blog dove sfruttano Node.js per fornire un registry privato insieme alla loro libreria, da poco (immagino) resa open source per chi comunque non può permettersi un costo così elevato (perché in startup o per qualche altro motivo) e decide di sostituire al costo della cloud qualche ora di effort e una macchina - o una VPS. Ovviamente io consiglio DigitalOcean che permette l'hosting di droplet su SSD :D

var smartPrivateNpm = require("smart-private-npm"),
    url = require("url");

//
// Configure your private npm. You could load this in from a file
// somewhere.
//
var config = {
  rewrites: require("./config/rewrites"),
  proxy: {
    //
    // Location of the target public npm registry. 
    //
    npm: url.parse("http://user:[email protected]"),
    //
    // Private npm options.
    //
    policy: {
      npm: url.parse("http://user:[email protected]"),
      private: {
        //
        // This is the list of 'known private modules'
        // that will always be proxied to the private npm.
        // It is built over time by remembering 'publish' requests.
        //
      },
      blacklist: {
        //
        // This is the list of modules that will ALWAYS be proxies
        // to the private npm, no matter what.
        //
      },
      whitelist: {
        //
        // If enabled: only requests for these modules will be served
        // by the proxy (unless they are 'known private modules').
        //
      },
      //
      // In 'transparent mode' the proxy will always forward to
      // the public registry.
      //
      transparent: false
    }
  },
  //
  // Server options (from 'create-servers')
  //
  http: 80
  https: {
    port: 443,
    root: "/path/to/your/ssl/files",
    key: "your-ssl.key",  // or .pem
    key: "your-ssl.cert", // or .pem
  }
};

smartPrivateNpm.createServer(config, function (err, servers) {
  if (err) {
    console.log("Error starting private npm: %j", servers);
    return process.exit(1);
  }

  console.log("Private npm running on %j servers.", Object.keys(servers));
});

Per l'operazione di pubblicazione dei pacchetti npm su un registry diverso, va semplicemente riadattato poi il comando che andiamo a dare nella shell:

npm publish some-private-code --reg http://localhost/

Ho trovato con cosa giocare stasera dopo il lavoro. In bocca al lupo a chiunque si voglia cimentare, e come sempre grazie a Nodejitsu per tutto l'open source che ci regala.

Photo courtesy of Trygve Lie

Flow: il mio nuovo tema per WordPress è open source

github open source

In due o tre, dall'ultimo restyle del blog che risale a questo capodanno, mi hanno fatto i complimenti per il nuovo tema; effettivamente non c'è voluto molto, ma ho dovuto mettere insieme qualche tassello per permettere la modifica della foto nell'header e qualche altra cosetta. È anche la mia prima esperienza diretta con il responsive web design: finora avevo demandato tutto a framework come Foundation o Bootstrap, ma ho deciso di fare tutto da zero e scrivermi un po' di media query da solo (con stili associati).

Flow (ho deciso di chiamarlo così) è su GitHub sotto licenza GPL2 per motivi di fork dal tema padre, Lean, a sua volta basato su Underscores; mi sono trovato molto bene a costruire un tema su Underscores, tuttavia anche le opzioni che ha elencato Francesco recentemente non sono niente male, e se dovessi ripartire da zero oggi userei BlankSlate.

Cosa c'è e cosa non c'è

  • Per il momento all'interno del tema è presente la possibilità (implementata nel functions.php con delle specifiche precise) di cambiare l'immagine dell'header, che in questo caso è banalmente la foto circolare. In questo blog c'è la mia, ma di default ho inserito un simpatico capibara.
  • Il codice è quello che è, è mio e ogni scarafone è bello a mamma sua. Ogni lamentela che non alleghi una pull request non verrà presa in considerazione. :D
  • L'aspetto meno simpatico è che ho fatto hardcoding su un paio di cosette come il mio nome e il "gdb ./life" presente nella testata. Al momento non ho in programma di portare questi aspetti ad un livello più pulito e di backend, quindi chi vuole usare il tema lo modifichi tranquillamente. Chi invece ha tempo e voglia di perderci una mezz'ora a implementare un pannellino di configurazione, ha una birra pagata quando ci vediamo.
  • Flow è responsive!
  • Alla batteria, Mike Mangini.

Che altro dire: divertitevi. :)

Photo courtesy of Brennan Bearness

Il mio regno per il 4K

4k monitor

The toleration of mediocrity on the desktop irks me.

Così recita Brian Hauer in un suo recente post che ha fatto parlare un bel po' sviluppatori, hacker e nerd in generale, e devo dire che mi sento abbastanza d'accordo. Partiamo con un po' di background, che fa sempre bene: qualche mese fa ho fatto un nuovo acquisto, ossia un All In One con monitor da 27 pollici e specifiche tecniche parecchio elevato, marchio ASUS, totalmente compatibile con Linux, e tremendo gaudio sia lavorativo che per quanto riguarda l'entertainment. Ci ho infatti sostituito persino il televisore, ormai rimasto alla mia famiglia meno digitalizzata (anche se, aehm, mia madre ne ha preso uno con ingresso USB poco dopo: devo aver inoculato il germe dell'USB anche in casa).

Bello eh, anzi: riesco a tenere aperte parecchie cose contemporaneamente, ma sento ancora la necessità di un secondo monitor, e - per quanto io stia provando a far entrare nel mio "studio" una scrivania più grande - le dimensioni sono quelle che sono, la metratura pure, e quindi per ora me la devo amabilmente prendere in quel posto; diversamente, con un solo monitor, sostenuto da una sola base, anche più grande, riuscirei comunque ad avere un diverso assetto con la scrivania che ho, mantenendo l'arredamento simile e avendo più spazio "digitale" (desktop! LOL) a disposizione.

Se debbo fare un appunto alla mia workstation infatti, è solo la densità di pixel "standard". Questo (vista l'avanguardia generale della componentistica di cui parliamo), esattamente come per Hauer, genera in me un certo disappunto. Parecchio disappunto.

Questo mi serve, altro che 3D

Vabbeh, vedémoselo.

Più o meno questa è la reazione mia e dei miei amici, ogni volta che andiamo al cinema (chiaramente a Roma come avete percepito dall'accento) e ci viene proposto un film in 3D dove non è possibile scegliere l'alternativa in 2D. Chiaramente non è che io sia contro il 3D, che anzi al cinema è un'esperienza carina, ma tra lo spam dei cinematografi e la campagna d'assedio a cui ci ha sottoposto chi vende monitor e televisori, ne ho avuto veramente abbastanza di chi ha voluto veramente farci credere che la risoluzione non fosse più un fattore importante e discriminante nella scelta di un dispositivo di visualizzazione.

Così, quando per la prima volta ho visto un monitor 4K, e a maggior ragione quando ho letto il post in oggetto, ho pensato una sola cosa: "Avete finito di cercare di infinocchiarci, maledetti". Semplicemente perché mentre della tecnologia di riproduzione 3D possiamo fare a meno in quanto inerente prettamente l'ambito della divertenza (che termine fico eh), l'ambito della definizione e della risoluzione è qualcosa dove, al confronto con un monitor - o meglio ancora un televisore - 4K, un dispositivo tradizionale mostra il fianco, e senza cotta di maglia.

Con lo spazio per 4 colonne di editor di testo aperte, svariati terminali con qualcosa in esecuzione dentro, e la possibilità di affiancare a tutto comunque un browser per visualizzare il risultato del nostro sviluppo web, o l'emulatore dell'SDK per chi sviluppa nel settore mobile (e così via...), le specifiche di qualsiasi cosa che non sia l'ultimo modello di Zenbook dove su un 13 pollici abbiamo una risoluzione di duemilacinquecento e rotti pixel in orizzontale, risultano tremendamente imbarazzanti. Ma che dico imbarazzanti, praticamente di un'era passata.

Risoluzione, definizione, monitor e fattori di forma (un sacco di roba quindi)

Da quel che so, il sesso non ha avuto aggiornamenti con grafica ad alta definizione e armamenti potenziati. - Sheldon Cooper

Dato che un televisore 4K al posto di un monitor mette in luce quanto l'industria degli schermi si sia adagiata sugli allori, e questo l'abbiamo già acclarato abbondantemente, azzardiamo anche qualche previsione su quello che succederà in questi anni di profonda rivoluzione nel campo desktop, a causa di qualcosa che finalmente serve alla massa e non ai proprietari dei cinema per venderti un biglietto da 10 (dieci) euro - o se preferite, a chi vuole venderti un 40 pollici che, al posto di fare il televisore, potrà fare tranquillamente da soprammobile. Con buona pace degli amanti del treddì.

  • Il porno: Naughty America ha annunciato proprio in questi giorni che sono i fase pianificazione i primi film pornografici girati in 4K. Modestamente, in quanto esperto dell'ambito (:D), ritengo che questo cambierà parecchi aspetti nell'ambito home video: dato che il VHS ha vinto contro il Betamax complice il porno, la spinta dell'industria pornografica se ingente ha le carte in regola per rendere 4K un successo, mentre il "good enough" 3D nell'ambito rimarrà al palo. E si sa, per chi rimane al palo nel mondo del porno butta male. Oddio, effettivamente dipende da quale palo.
  • L'imbarazzo dell'anzianità: qualche tempo fa ho avuto l'immenso piacere di provare il Dell XPS Developer Edition, che un mio coworker ha anche acquistato. Il lavoro su uno schermo a così alta risoluzione è comodissimo, e immagino che lavorare con un monitor 4K mi farebbe voglia di fiondare dalla finestra il mio All In One esattamente come dopo aver provato l'XPS  è stato terribilmente traumatizzante tornare al mio "legacy laptop" con il suo monitor, per così dire, stretto.
  • Le dimensioni contano: mettiamo caso che finalmente arrivi un monitor 4K ad un costo decente, come ipotizza anche Hauer; a questo punto, con abbastanza spazio per quattro colonne di editor di testo, svariate CLI aperte e uno o più browser, tornereste veramente ad una configurazione della scrivania con monitor multipli? Nonostante a me piaccia la configurazione multi-monitor e io sia dell'opinione che i pixel non sono mai troppi, i limiti fisici della mia scrivania mi impediscono sia di avere due monitor, al momento (ed è per questo che sto cambiando scrivania eh), ma anche se questa fosse più grande preferirei risparmiare spazio in favore di qualcos'altro. Insomma, in due parole: le nostre scrivanie, dopo l'avvento e la massificazione del 4K, non saranno più le stesse.

Quando vi tireranno fuori l'ennesimo pacco per farci accontentare della qualità d'immagine attuale, non date soddisfazione a nessuno. D'altronde, il regno del 4K sta per cominciare, ma l'8K si profila già all'orizzonte, e potrebbe darci ancora più soddisfazione.

Photo courtesy of Tutaka Tsutano

2014.start();

Change

È stato un anno ricco di cose. Cose belle, cose brutte, non importa (oddio, per la gran parte comunque cose belle - e di questo mi compiaccio). Fatto sta, che l'altro ieri mi sono trovato a sedermi e, per la prima volta in un anno e forse più, ho potuto decidere di non fare nulla tutto il giorno. È stato un anno di cambiamento, per me e per tutti quelli che mi hanno circondato; spero, ovviamente, che il cambiamento sia stato positivo - soprattutto per me, che diavolo, ma anche per gli altri: il lavoro, quello che è stato prodotto da me e da chi mi circonda durante l'anno, è stato parecchio e proficuo. Bene così.

Ma il cambiamento va portato avanti fino alla fine: e così ho deciso di cambiare nome e veste persino a questo blog, che rinasce dalle proprie ceneri e diventa "Grab The Blaster". Un po' quello di prima, un po' cose nuove, progetti nuovi, una vita nuova. È la prima volta che festeggio l'inizio di un anno così sentitamente: forse perché nel nuovo spero molto, ci ripongo parecchie speranze.

Solo una cosa rimane la stessa: la mia nerditudine. E un costante desiderio di debuggarmi la vita, per quanto arduo possa essere. Come ha detto un amico una volta, "life is a continuous pivoting". Non mi resta che far partire il nuovo thread, e sperare che non incontri deadlock o race condition.

2014.start();

(Tra l'altro, postilla: il codice del tema sarà open source prestissimo. Il tempo di correggere un paio di cose fastidiose.)

Photo courtesy of Stéfan

Member of

Previous Random Next