Per includere delle icone in un sito solitamente si fa uso della tecnica “CSS Sprite” cioè in un unica immagine si mettono tutte le icone da utilizzare e mediante il background-position si “seleziona” quella desiderata: in questo modo si riducono notevolmente le chiamate HTTP a favore delle velocità di caricamento del sito.
In questo periodo si sta facendo avanti una nuova “tecnica”: gli Icon Font ossia fonts che non contengono caratteri convenzionali bensì icone (potete dare un’occhiata a Font Awesome).
I vantaggi maggiori nell’utilizzo di questa tipologia di font sono:
I font pesano solitamente meno della controparte “immagine”;
Si ottengono facilmente icone scalabili e indipendenti dalla risoluzione;
Tramite CSS si può impostare il colore dell’icona, l’ombra, le dimensione, ecc…
Google Chrome è stato rilasciato nel 2008 e di strada ne ha fatta talmente tanta da raggiungere circa il 35% di utilizzo.
Se volete capire il lavoro che c’è sotto a questo browser vi consiglio di leggervi “High Performance Networking in Google Chrome” di Ilya Grigorik (l’articolo farà parte del libro “The Performance of Open Source Applications” che verrà pubblicato nella primavera del 2013).
Vi faccio un breve TL;DR (che spero non vi faccia passare la voglia di leggervi interamente l’articolo consigliato): prima di Google Chrome i browser erano di natura monolitica mentre Google ha saputo creare un browser multi-processo dove ogni tab viene isolata in una propria sandbox.
Per il rendering delle pagine viene utilizzato WebKit ossia un motore open source, veloce e conforme agli standard mentre per l’esecuzione di Javascript è stato creato appositamente il V8 (utilizzato anche da node.js).
Il motore di rendering delle pagine e di esecuzione del codice Javascript (nell’era della App) conta moltissimo per un browser ma non sono gli unici elementi che influiscono sulla velocità di navigazione.
Google Chrome utilizza anche una forma di “preveggenza” studiando le azioni svolte e cercando quindi di portarsi avanti con il lavoro, ciò include il DNS pre-resolve, TCP pre-connect, Resource prefetching ed il Page prerendering.
Il browser inoltre cerca di avviarsi e di essere responsivo il più velocemente possibile sfruttando un principio simile a quello precedente: si ricorda i domini utilizzati più di frequente dopo un cold-boot e ne fa il DNS pre-fetch (se siete curiosi di avere la vostra lista dei domini utilizzati più di frequente subito dopo il riavvio di Chrome basta mettiate chrome://dns nella barra indirizzi).
Google non si è limitata a queste “magie” ma si è concentrata moltissimo pure sulla Omnibox (barra degli indirizzi) facendo in modo che ad ogni lettera inserita il browser ci suggerisca al meglio sull’azione che vogliamo svolgere: in una tabella viene tenuta traccia dei prefissi inseriti, delle azioni proposte e della percentuale di click su ciascuna di esse.
Detto questo si capisce che Chrome diventa sempre più veloce man mano che lo si utilizza.
Non mi è mai piaciuto Instagram però sono qui a condividere con voi Instacode: scrivete una porzione di codice e l’applicativo ve la renderà fashion (dopo avergli applicato il syntax highlighting)!
Ecco un esempio con una parte dell’HTML di questo sito:
C’è un bug di Ubuntu (il #1) che ancora non è stato risolto ed è pure critico, voi vi chiederete: “ma come può essere che un bug così storico ed importante non sia stato ancora risolto?”.
Il “bug” in questione si chiama “Microsoft has a majority market share” ed è stato riportato ed assegnato a Mark Shuttleworth (fondatore di Canonical ed astronauta): capite quindi che tutti ciò è stato scritto in vena ironica/comica anche se certamente l’obiettivo è proprio quello.
Come ogni bug va spiegato in ogni minimo dettaglio dando rilevanza a ciò che accade e a ciò che dovrebbe accadere:
Steps to repeat:
1. Visit a local PC store.
2. Attempt to buy a machine without any proprietary software.
What happens:
Almost always, a majority of PCs for sale have Microsoft Windows pre-installed. In the rare cases that they come with a GNU/Linux operating system or no operating system at all, the drivers and BIOS may be proprietary.
What should happen:
A majority of the PCs for sale should include only free software.
Personalmente credo che il futuro di Linux nel Desktop vada a braccetto con quello del gaming: la Valve attualmente sta sviluppando Steam per Linux (beta) collaborando con la nVidia (che ultimamente ha messo a disposizione dei driver ottimizzati per il gaming) nella speranza che ciò porti la gente ad avvicinarsi a questo stupendo OS.
Attualmente utilizzo ancora Windows 8 per due semplici motivi:
Per rilassarmi faccio qualche partitina a Dota 2 (ancora non disponibile su Steam Linux ma funzionante in parte su Wine)
La funzionalità Text-to-speech, detta anche sintesi vocale, permette di trasformare un testo scritto in parlato e ciò può essere utilizzato in mille modi.
Facilmente realizzabile un programma risiedente in un Raspberry Pi con delle casse audio connesse che alla pressione di un bottone (o ad un evento particolare) legge l’oggetto delle ultime mail ricevute, lo stato dei server e chi più ne ha più ne metta.
Google tramite il suo Google Translate da la possibilità di sentire il parlato del testo appena tradotto e questo è proprio ciò che ci serve.
L’URL delle API (se così possiamo definirle) è il seguente: