Posts elencati sotto la Categoria Web e dintorni

Rss feeds di questa categoria



La furbizia dell’hacker

Possiamo assimilare la rete informatica mondiale ad una società nella quale ogni individuo è costituito da un “corpo” fisico – l’hardware – e da un software. C’è chi spende tempo, energie e creatività nel creare applicativi, siti come questo o altri ben più complessi, ogni tipo di manifestazione della creatività di uno o più programmatori. C’è anche chi assembla computers ed esprime il proprio ingegno nella realizzazione di sistemi stabili e performanti. Un software ben scritto installato su una macchina ben assemblata è forse paragonabile, quanto ad ingegno e creatività, ad un’opera d’arte “tecnica” ed esprime perciò una sua bellezza che può essere apprezzata. Le cose apprezzate, poi, si diffondono fra gli utenti.

L’hacker – o meglio – quella categoria di hacker che ha intenzioni cattive è un individuo della stessa “pasta” del programmatore. Anch’egli si ingegna e conosce i segreti della programmazione e delle reti ma il suo obiettivo è quello di estendere il suo potere su più macchine possibile. Nessun hacker che si ritenga abbastanza furbo ha come obiettivo la formattazione o la distruzione di un pc. Al personaggio in questione, un computer “serve più da vivo che da morto”: può essere utilizzato come copertura per altri atti punibili dalla legge. I pc della rete sono cose da “usare”, da infettare con un programma occulto che consenta al malintenzionato di accedere come e quando vuole per poi attaccare altri pc ed estendere le proprie potenzialità. Un computer conquistato diventa a sua volta conquistatore e veicolo di infezione.

Potrebbe essere interessante seguire il percorso inverso. Come nella grande rete, Qualcuno ci plasma, produce bellezza, assembla pezzetto per pezzetto, prevede per ciascuno delle attività proficue. Ci sono però gli hacker, che non sono d’accordo: inquinano le coscienze con ideologie, ipotesi non ragionevoli, idee e pensieri falsi che bucano le difese della coscienza facendo leva sui piaceri, sulla comodità di certo pensiero. Accade così che persone capaci di cose meravigliose si riducono all’attacco e distruzione delle altre persone che ancora si sforzano di costruire qualcosa in linea con la natura umana.
Che peccato…
Quando un server è conquistato ed usato per un attacco, non resta che disconnetterlo dalla linea e, nei casi più disperati, formattarlo per ripristinare la programmazione originaria. Come realizzare questo nel mondo non virtuale? Si può? Si deve? Quali speranze ci sono?

Hacker

Share

Il contenuto del web

Continuando la riflessione su Facebook e, per estensione, internet, un effetto “collaterale” dell’eccessiva “libertà” di questi mezzi può riportarci ad esaminare la realtà in modo più lucido.

Nel mondo di Facebook ciascuno ha la sua bacheca dove ha la possibilità di pubblicare tutto ciò che vuole: frasi; immagini; links. Anche nel mondo più ampio di internet, una volta attivato uno spazio gratuito o a pagamento, ciascuno è “libero” di pubblicare ciò che vuole. Troviamo infatti un sito per ogni postulato – vero o falso che sia – che la mente umana è riuscita a generare nei secoli: dagli UFO alla medicina alternativa; dalle foto dei corpi straziati in incidenti stradali ai forum che pullulano di polemiche. È chiaro che l’assenza totale di controllo e di regolamentazione dei contenuti è più un problema che un vantaggio, ma un effetto di questa situazione è un’uguaglianza, se non effettiva, almeno apparente.

Per assurdo io posso pubblicare sulla mia bacheca o sul mio spazio web lo stemma o lo slogan di un gruppo o organizzazione che è invisa a gran parte dei miei contatti/lettori. Ciascuno di loro si vedrà comparire sulla pagina principale questo messaggio scomodo e potrà pure indignarsi ma il massimo che potrà fare è evitare di guardare (nascondere la pubblicazione) o pubblicare a sua volta un contenuto opposto. Ciò che non è consentito fare è di obbligare qualcuno a non pubblicare o a rimuovere del materiale solo perché orientato verso quella determinata entità della quale non condividiamo finalità e intenti. L’uguaglianza – che in questo caso, per molte ragioni, non ritengo si possa definire “piena” – sarebbe garantita dal fatto che chiunque può pubblicare contenuti buoni per sé stesso ma scomodi per gli altri.

Al contrario, nel mondo “materiale” c’è un folto gruppo di persone che ritengono corretto il poter obbligare una persona o una istituzione ad una presunta “neutralità” degli spazi. Eppure è contraddittorio che su internet si vanti una libertà di espressione quando si pubblica – anche in spazi altrui – del contenuto “scomodo”, mentre nel mondo materiale si pretenda una censura quasi totale in nome di un’impossibile uguaglianza/neutralità. Gli antichi dicevano “in medio stat virtus” per invitare alla moderazione; forse è bene riflettere sugli eccessi di entrambi gli scenari e agire di conseguenza.

Affissione

Share

Deformazione professionale

Recenti studi neuropsichiatrici hanno evidenziato che utilizzare uno strumento modifica il cervello. Riflettendoci è una cosa quasi scontata: man mano che uso uno strumento “imparo” ad averne maggiore dimestichezza adattandomi con plasticità. In fondo, modi di dire come “deformazione professionale” descrivono bene questi effetti. Esiste però un limite oltre il quale questa “deformazione” diventa nociva?

Uno strumento che è ormai diffuso in ogni casa è la televisione. La televisione ci ha abituati ad essere spettatori, ad un rapporto privo di interazione con quanto ci viene proposto, ma ci ha anche abituati allo zapping: se un programma non mi piace, cambio canale; se non so cosa guardare, cambio canale. La cosa è ancora più marcata quando l’offerta di canali si aggira attorno al centinaio.
La conclusione di queste abitudini, quando non riusciamo a separare la vita davanti allo schermo da quella a contatto con il resto del mondo, è che pretendiamo di poter fare zapping anche con tutto ciò sul quale pensiamo di avere il benché minimo potere. Ci scegliamo gli amori, ci scegliamo la carriera, ci scegliamo il cibo, il momento per uscire, le attività della giornata, il valore stesso della propria esistenza e di quella degli altri. È così almeno finché non sopraggiunge un “imprevisto” che riporta la realtà ad imporsi sui nostri capricci.

Altro strumento è Facebook. Mi è capitato in questi ultimi giorni di sperimentare “l’effetto Facebook” cioè la trasformazione dei propri contatti e amici in una facciata web, con annessa matrice di pixel (fotografia) ed insieme di caratteri (contenuto dello stato). Quando smettiamo di vedere la persona, oltre il dato numerico che ci viene presentato attraverso la pagina, il nostro comportamento degenera rapidamente: una pagina web si può insultare, offendere e ridicolizzare quanto vogliamo; una persona che abbiamo davanti e ci guarda negli occhi no, specie se è un “amico”. Quanto più l’ideologia scende al livello della tifoseria da stadio, tanto più sostituirò la stima personale ed il rispetto con le loro antitesi.
Tutto ciò non è prerogativa di Facebook: succede praticamente con qualsiasi cosa della quale, per un motivo o per un altro, perdiamo il valore.

La nostra riflessione non deve però condurci a proibire la televisione o Facebook, come per soddisfare una qualche legge del taglione, ma deve produrre un’attenzione particolare, un costante richiamo al valore delle proprie amicizie e ad un corretto rapporto con il reale.

 

Internet cane

"su internet nessuno sa che sei un cane"

 

Share

Commenti avanzati in WordPress

Molte piattaforme di blogging permettono agli utenti di inserire immagini nei propri commenti. WordPress sembra invece non permetterlo – immagino per evitare messaggi pubblicitari. E se volessimo dare ai nostri lettori la possibilità di inserire delle immagini o semplicemente qualche opzione di formattazione un po’ più avanzata?

Questo “trucco” è per chi ha installato su un proprio sito una versione di WordPress. La procedura non è difficile: bisogna aprire l’editor del tema e modificare il file delle funzioni “functions.php”. Alla fine del file ci dovrebbe essere il simbolo “?>” che indica la fine del codice php. Distanziamo con qualche ritorno a capo ed incolliamo il codice:

add_action(‘init’, ‘my_html_tags_code’, 10);
function my_html_tags_code() {
  define(‘CUSTOM_TAGS’, true);
  global $allowedtags, $allowedposttags, $allowedentitynames;

        $allowedposttags = array(
            ’address’ => array(),
            ’a’ => array(
                  ’class’ => array (),
                  ’href’ => array (),
                  ’id’ => array (),
                  ’title’ => array (),
                  ’rel’ => array (),
                  ’rev’ => array (),
                  ’name’ => array (),
                  ’target’ => array()),
            ’abbr’ => array(
                  ’class’ => array (),
                  ’title’ => array ()),
            ’acronym’ => array(
                  ’title’ => array ()),
            ’article’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’aside’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’b’ => array(),
            ’big’ => array(),
            ’blockquote’ => array(
                  ’id’ => array (),
                  ’cite’ => array (),
                  ’class’ => array(),
                  ’lang’ => array(),
                  ’xml:lang’ => array()),
            ’br’ => array (
                  ’class’ => array ()),
            ’button’ => array(
                  ’disabled’ => array (),
                  ’name’ => array (),
                  ’type’ => array (),
                  ’value’ => array ()),
            ’caption’ => array(
                  ’align’ => array (),
                  ’class’ => array ()),
            ’cite’ => array (
                  ’class’ => array(),
                  ’dir’ => array(),
                  ’lang’ => array(),
                  ’title’ => array ()),
            ’code’ => array (
                  ’style’ => array()),
            ’col’ => array(
                  ’align’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’span’ => array (),
                  ’dir’ => array(),
                  ’style’ => array (),
                  ’valign’ => array (),
                  ’width’ => array ()),
            ’del’ => array(
                  ’datetime’ => array ()),
            ’dd’ => array(),
            ’details’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’open’ => array (),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’div’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array()),
            ’dl’ => array(),
            ’dt’ => array(),
            ’em’ => array(),
            ’fieldset’ => array(),
            ’figure’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’figcaption’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’font’ => array(
                  ’color’ => array (),
                  ’face’ => array (),
                  ’size’ => array ()),
            ’footer’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’form’ => array(
                  ’action’ => array (),
                  ’accept’ => array (),
                  ’accept-charset’ => array (),
                  ’enctype’ => array (),
                  ’method’ => array (),
                  ’name’ => array (),
                  ’target’ => array ()),
            ’h1′ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’h2′ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’h3′ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’h4′ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’h5′ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’h6′ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’id’    => array (),
                  ’style’ => array ()),
            ’header’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’hgroup’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’hr’ => array (
                  ’align’ => array (),
                  ’class’ => array (),
                  ’noshade’ => array (),
                  ’size’ => array (),
                  ’width’ => array ()),
            ’i’ => array(),
            ’img’ => array(
                  ’alt’ => array (),
                  ’align’ => array (),
                  ’border’ => array (),
                  ’class’ => array (),
                  ’height’ => array (),
                  ’hspace’ => array (),
                  ’longdesc’ => array (),
                  ’vspace’ => array (),
                  ’src’ => array (),
                  ’style’ => array (),
                  ’width’ => array ()),
            ’ins’ => array(
                  ’datetime’ => array (),
                  ’cite’ => array ()),
            ’kbd’ => array(),
            ’label’ => array(
                  ’for’ => array ()),
            ’legend’ => array(
                  ’align’ => array ()),
            ’li’ => array (
                  ’align’ => array (),
                  ’class’ => array ()),
            ’menu’ => array (
                  ’class’ => array (),
                  ’style’ => array (),
                  ’type’ => array ()),
            ’nav’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’p’ => array(
                  ’class’ => array (),
                  ’align’ => array (),
                  ’dir’ => array(),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array()),
            ’pre’ => array(
                  ’style’ => array(),
                  ’width’ => array ()),
            ’q’ => array(
                  ’cite’ => array ()),
            ’s’ => array(),
            ’span’ => array (
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’align’ => array (),
                  ’lang’ => array (),
                  ’style’ => array (),
                  ’title’ => array (),
                  ’xml:lang’ => array()),
            ’section’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’strike’ => array(),
            ’strong’ => array(),
            ’sub’ => array(),
            ’summary’ => array(
                  ’align’ => array (),
                  ’class’ => array (),
                  ’dir’ => array (),
                  ’lang’ => array(),
                  ’style’ => array (),
                  ’xml:lang’ => array(),
            ),
            ’sup’ => array(),
            ’table’ => array(
                  ’align’ => array (),
                  ’bgcolor’ => array (),
                  ’border’ => array (),
                  ’cellpadding’ => array (),
                  ’cellspacing’ => array (),
                  ’class’ => array (),
                  ’dir’ => array(),
                  ’id’ => array(),
                  ’rules’ => array (),
                  ’style’ => array (),
                  ’summary’ => array (),
                  ’width’ => array ()),
            ’tbody’ => array(
                  ’align’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’valign’ => array ()),
            ’td’ => array(
                  ’abbr’ => array (),
                  ’align’ => array (),
                  ’axis’ => array (),
                  ’bgcolor’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’class’ => array (),
                  ’colspan’ => array (),
                  ’dir’ => array(),
                  ’headers’ => array (),
                  ’height’ => array (),
                  ’nowrap’ => array (),
                  ’rowspan’ => array (),
                  ’scope’ => array (),
                  ’style’ => array (),
                  ’valign’ => array (),
                  ’width’ => array ()),
            ’textarea’ => array(
                  ’cols’ => array (),
                  ’rows’ => array (),
                  ’disabled’ => array (),
                  ’name’ => array (),
                  ’readonly’ => array ()),
            ’tfoot’ => array(
                  ’align’ => array (),
                  ’char’ => array (),
                  ’class’ => array (),
                  ’charoff’ => array (),
                  ’valign’ => array ()),
            ’th’ => array(
                  ’abbr’ => array (),
                  ’align’ => array (),
                  ’axis’ => array (),
                  ’bgcolor’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’class’ => array (),
                  ’colspan’ => array (),
                  ’headers’ => array (),
                  ’height’ => array (),
                  ’nowrap’ => array (),
                  ’rowspan’ => array (),
                  ’scope’ => array (),
                  ’valign’ => array (),
                  ’width’ => array ()),
            ’thead’ => array(
                  ’align’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’class’ => array (),
                  ’valign’ => array ()),
            ’title’ => array(),
            ’tr’ => array(
                  ’align’ => array (),
                  ’bgcolor’ => array (),
                  ’char’ => array (),
                  ’charoff’ => array (),
                  ’class’ => array (),
                  ’style’ => array (),
                  ’valign’ => array ()),
            ’tt’ => array(),
            ’u’ => array(),
            ’ul’ => array (
                  ’class’ => array (),
                  ’style’ => array (),
                  ’type’ => array ()),
            ’ol’ => array (
                  ’class’ => array (),
                  ’start’ => array (),
                  ’style’ => array (),
                  ’type’ => array ()),
            ’var’ => array ());

      /**
       * Kses allowed HTML elements.
       *
       * @global array $allowedtags
       * @since 1.0.0
       */
      $allowedtags = array(
            ’a’ => array(
                  ’href’ => array (),
                  ’title’ => array ()),
            ’abbr’ => array(
                  ’title’ => array ()),
            ’acronym’ => array(
                  ’title’ => array ()),
            ’b’ => array(),
            ’blockquote’ => array(
                  ’cite’ => array ()),
            //      ’br’ => array(),
            ’cite’ => array (),
            ’code’ => array(),
            ’del’ => array(
                  ’datetime’ => array ()),
            //      ’dd’ => array(),
            //      ’dl’ => array(),
            //      ’dt’ => array(),
            ’em’ => array (), ‘i’ => array (),
            //      ’ins’ => array(‘datetime’ => array(), ‘cite’ => array()),
            //      ’li’ => array(),
            //      ’ol’ => array(),
            //      ’p’ => array(),
            ’q’ => array(
                  ’cite’ => array ()),
            ’strike’ => array(),
            ’strong’ => array(),
            ’sub’ => array(),
            ’sup’ => array(),
            ’img’ => array(
                  ’alt’ => array (),
                  ’align’ => array (),
                  ’border’ => array (),
                  ’class’ => array (),
                  ’height’ => array (),
                  ’hspace’ => array (),
                  ’longdesc’ => array (),
                  ’vspace’ => array (),
                  ’src’ => array (),
                  ’style’ => array (),
                  ’width’ => array ()),
            ’span’ => array(
                  ’style’ => array ()),
            //      ’u’ => array(),
            //      ’ul’ => array(),
      );

      $allowedentitynames = array(
            ’nbsp’,    ’iexcl’,  ’cent’,    ’pound’,  ’curren’, ‘yen’,
            ’brvbar’,  ’sect’,   ‘uml’,     ‘copy’,   ‘ordf’,   ‘laquo’,
            ’not’,     ‘shy’,    ’reg’,     ‘macr’,   ‘deg’,    ’plusmn’,
            ’acute’,   ‘micro’,  ’para’,    ’middot’, ‘cedil’,  ’ordm’,
            ’raquo’,   ‘iquest’, ‘Agrave’,  ’Aacute’, ‘Acirc’,  ’Atilde’,
            ’Auml’,    ’Aring’,  ’AElig’,   ‘Ccedil’, ‘Egrave’, ‘Eacute’,
            ’Ecirc’,   ‘Euml’,   ‘Igrave’,  ’Iacute’, ‘Icirc’,  ’Iuml’,
            ’ETH’,     ‘Ntilde’, ‘Ograve’,  ’Oacute’, ‘Ocirc’,  ’Otilde’,
            ’Ouml’,    ’times’,  ’Oslash’,  ’Ugrave’, ‘Uacute’, ‘Ucirc’,
            ’Uuml’,    ’Yacute’, ‘THORN’,   ‘szlig’,  ’agrave’, ‘aacute’,
            ’acirc’,   ‘atilde’, ‘auml’,    ’aring’,  ’aelig’,  ’ccedil’,
            ’egrave’,  ’eacute’, ‘ecirc’,   ‘euml’,   ‘igrave’, ‘iacute’,
            ’icirc’,   ‘iuml’,   ‘eth’,     ‘ntilde’, ‘ograve’, ‘oacute’,
            ’ocirc’,   ‘otilde’, ‘ouml’,    ’divide’, ‘oslash’, ‘ugrave’,
            ’uacute’,  ’ucirc’,  ’uuml’,    ’yacute’, ‘thorn’,  ’yuml’,
            ’quot’,    ’amp’,    ’lt’,      ’gt’,     ‘apos’,   ‘OElig’,
            ’oelig’,   ‘Scaron’, ‘scaron’,  ’Yuml’,   ‘circ’,   ’tilde’,
            ’ensp’,    ’emsp’,   ‘thinsp’,  ’zwnj’,   ‘zwj’,    ’lrm’,
            ’rlm’,     ‘ndash’,  ’mdash’,   ‘lsquo’,  ’rsquo’,  ’sbquo’,
            ’ldquo’,   ‘rdquo’,  ’bdquo’,   ‘dagger’, ‘Dagger’, ‘permil’,
            ’lsaquo’,  ’rsaquo’, ‘euro’,    ’fnof’,   ‘Alpha’,  ’Beta’,
            ’Gamma’,   ‘Delta’,  ’Epsilon’, ‘Zeta’,   ‘Eta’,    ’Theta’,
            ’Iota’,    ’Kappa’,  ’Lambda’,  ’Mu’,     ‘Nu’,     ‘Xi’,
            ’Omicron’, ‘Pi’,     ‘Rho’,     ‘Sigma’,  ’Tau’,    ’Upsilon’,
            ’Phi’,     ‘Chi’,    ’Psi’,     ‘Omega’,  ’alpha’,  ’beta’,
            ’gamma’,   ‘delta’,  ’epsilon’, ‘zeta’,   ‘eta’,    ’theta’,
            ’iota’,    ’kappa’,  ’lambda’,  ’mu’,     ‘nu’,     ‘xi’,
            ’omicron’, ‘pi’,     ‘rho’,     ‘sigmaf’, ‘sigma’,  ’tau’,
            ’upsilon’, ‘phi’,    ’chi’,     ‘psi’,    ’omega’,  ’thetasym’,
            ’upsih’,   ‘piv’,    ’bull’,    ’hellip’, ‘prime’,  ’Prime’,
            ’oline’,   ‘frasl’,  ’weierp’,  ’image’,  ’real’,   ‘trade’,
            ’alefsym’, ‘larr’,   ‘uarr’,    ’rarr’,   ‘darr’,   ‘harr’,
            ’crarr’,   ‘lArr’,   ‘uArr’,    ’rArr’,   ‘dArr’,   ‘hArr’,
            ’forall’,  ’part’,   ‘exist’,   ‘empty’,  ’nabla’,  ’isin’,
            ’notin’,   ‘ni’,     ‘prod’,    ’sum’,    ’minus’,  ’lowast’,
            ’radic’,   ‘prop’,   ‘infin’,   ‘ang’,    ’and’,    ’or’,
            ’cap’,     ‘cup’,    ’int’,     ‘sim’,    ’cong’,   ‘asymp’,
            ’ne’,      ’equiv’,  ’le’,      ’ge’,     ‘sub’,    ’sup’,
            ’nsub’,    ’sube’,   ‘supe’,    ’oplus’,  ’otimes’, ‘perp’,
            ’sdot’,    ’lceil’,  ’rceil’,   ‘lfloor’, ‘rfloor’, ‘lang’,
            ’rang’,    ’loz’,    ’spades’,  ’clubs’,  ’hearts’, ‘diams’,
      );
}

Una volta salvata la modifica non facciamo altro che bypassare il controllo che wordpress fa automaticamente sul contenuto dei commenti e dei post aggiungendo, oltre ai tag già permessi, qualche altro tag in più. Ad esempio, io ho aggiunto le immagini ( <img> ), il testo in apice ( <sup> ) ed il testo in pedice ( <inf> ). Provare per credere.

Per aggiungere altri tag basta modificare la stringa chiamata “$allowedtags” sulla falsa riga dei tag già esistenti. Se, ad esempio, voglio aggiungere la possibilità di inserire dei ( <div> ) mi basterà aggiungere:

            ’div’ => array(
                  ’style’ => array ()),

Attenzione però a non esagerare perché un utente malintenzionato potrebbe approfittare della vostra generosità verso i vostri lettori ed inserire codice malevolo.
Buon divertimento.

Share

Analisi semantica

Guardavo, proprio ieri, una delle funzionalità di un noto aggregatore di notizie. La chiamano “analisi semantica”, un bilancio tra parole “positive” e parole “negative” all’interno di un post allo scopo di determinarne lo “stato d’animo”. Se si utilizzano tante parole negative lo stato d’animo è triste mentre se si utilizzano tante parole positive lo stato d’animo risulta felice. Ovviamente ci sono delle gradazioni intermedie.

L’analisi dei miei post risulta spesso di un umore nero pece. Com’è possibile? Guardo le parole che sono state classificate come “negative” e scopro che tra le altre sono state anche inserite: immutabile; indiscutibile; irrisolto; pesante; usuale; generalizzato; rigido; nostalgico.
A me non sembrano parole negative ma, pensandoci bene e rendendosi conto di certe mode, possono mostrare un certo modo di intendere le cose per il sentire comune.

Si temono proprio i riferimenti fissi, le cose stabili e definite che possono, in fin dei conti, dare sicurezza. Si preferisce invece non sapere dove sbattere la testa, vagare tra un’idea e l’altra senza mai trovare soddisfazione. Il problema è che questo stato “confusionale” viene frainteso con una maggiore libertà. Se chi ragiona in questo modo fosse un marinaio, sulla sua piccola barchetta, nel mare notturno, sarebbe veramente più libero spegnendo tutti i fari del mondo?
La libertà del marinaio sta nel fare uso dei fari che incontra per scegliere saggiamente in quale direzione navigare: ad eccedere con le libertà si rischia di si abbattersi sugli scogli o di perdersi senza mai trovare un porto sicuro.

SmileP.S. È chiaro che questo post risulterà negativissimo!

Share

Social bookmarking su WordPress.com

14 bottoni per lo sharing su social bookmarking nei blog Worpress.com e con un solo click

Questo articolo è datato. Per il momento non ci sono revisioni ma, appena disponibili saranno tempestivamente segnalate.

Chi utilizza la distribuzione “web software” di WordPress, scaricandola da WordPress.org e installandola su un proprio dominio, può contare su un numero infinito di plugin che gli consentono di fare le cose più disparate e di offrire i servizi più variegati. La stessa fortuna non bacia chi sceglie di utilizzare la piattaforma già preinstallata e preconfigurata offerta da worpress.com.

Una cosa della quale si percepisce la mancanza è un sistema automatizzato per inserire i “bottoni” che permettono ad un lettore di condividere (share) un post sul suo social network preferito utilizzando un solo click. L’operazione non è proibita ma, senza aiuti particolari, deve essere fatta manualmente per ogni post dovendo inserire un’immagine, con relativo link (il quale è diverso per ogni post), per ciascun social bookmark che si vuole fornire. Basta pensare che in giro ci sono decine e decine di servizi del genere per capire che corredare i propri post di questi bottoni diventa proibitivo.
La situazione sembra disperata perché l’editor di wordpress.com non consente di introdurre degli script perciò non è possibile usare nemmeno dei codici da incollare meccanicamente ogni volta.

Una soluzione però c’è. Si tratta di far eseguire lo script al browser di chi scrive invece di farlo fare a quello del lettore. Ho scritto un codice leggero e, spero, facile per mettere in pratica questa idea. Ecco cosa si deve fare in pochi step:

  1. Prendete il bottone qua sotto e trascinatelo nei preferiti del vostro browser (preferiti di internet explorer o segnalibri di firefox etc.)

    Fai click qui per aggiungere al tuo browser il link per il social bookmarking

    Se, per qualche motivo, il trascinamento non ha effetto fate click sul bottone con il pulsante destro del mouse e copiate il link. Poi inserite manualmente l’indirizzo che avete copiato nei vostri preferiti. Se non riuscite a copiare il link, l’indirizzo-codice da inserire come “link” nei vostri preferiti è il seguente:

    javascript:var%20s=document.createElement(‘script’);s.src=’http://intricato.altervista.org/social_bookmarkt.js’;s.type=’text/javascript’;void(document.getElementsByTagName(‘head’)[0].appendChild(s));
  2. Scrivete il vostro post con l’editor di wordpress.com come avete sempre fatto e pubblicatelo.
  3. Quando siete nella finestra dell’editor fate click sul link che avete creato allo step 1. Appariranno i bottoni per Del.icio.us, Digg, Google, Yahoo, Technorati, Badzu, Facebook, OKNOtizie, Twitter, Windows Live, MySpace, FriendFeed, Ma.gnolia.com, IceRocket, Fai.Info, Segnalo, Kipapa, NotizieFlash, Bookmark.it, Diggita, Pligg, Plim, Technotizie, UpNews, Wikio IT, ZicZac, Splinder, Mail to.
  4. Aggiornate il post ed il gioco è fatto.

Il risultato lo vedete in figura qua sotto. Se avete domande o suggerimenti o se avete gradito usare questo post per il vostro blog, basta un commento.
Quanto a questo post, se vorrete condividerlo, potete usare il pulsante di “Add to Any” che trovate in basso a sinistra.

  • Aggiungi su del.icio.us
  • Aggiungi su digg.com
  • Aggiungi su Google
  • Aggiungi su Yahoo
  • Aggiungi su Technorati
  • Aggiungi su Badzu
  • Aggiungi su Facebook
  • Aggiungi su OKNOtizie
  • Aggiungi su Twitter
  • Aggiungi su Windows Live
  • Aggiungi su MySpace
  • Aggiungi su FriendFeed
  • Cita il post su splinder
  • Invia per email
Share

L’occorrente per pubblicare sul web

Prima o poi, per un motivo o per un altro, si decide di aprire un blog o un sito in generale. Oramai in giro ci sono diverse piattaforme libere dalle svariate funzioni che permettono di pubblicare del materiale anche senza conoscere nulla dei sistemi che si sta utilizzando. È mia opinione che per sviluppare la propria creatività al massimo è indispensabile conoscere almeno i rudimenti del linguaggio del web.

Perché essenziale? Chiunque abbia già utilizzato delle piattaforme per la pubblicazione di materiale si sarà accorto che personalizzarle diventa davvero difficile se si ha in mente un progetto non standardizzato. Nel migliore dei casi si ha la possibilità di scegliere fra più template ma, alla fine, qualunque scelta risulta qualcosa di non personale e poco elastico per quanto riguarda l’estetica desiderata. Molte piattaforme permettono però di editare il codice che sta dietro alle pagine: saperlo leggere, interpretare, correggere e abbellire può dare delle belle soddisfazioni.

Il web è disgraziatamente un mondo pieno di “lingue”, non nel senso che è abitato da gente che scrive da tutto il mondo, ma per il fatto che diverse tecnologie si sono sovrapposte con il passare del tempo e sono state inglobate l’una nell’altra producendo un miscuglio di linguaggi informatici che ai più possono sembrare incomprensibili. Ovviamente, quel che dico qua vale per chi è alle prime armi: ci sono maestri nella creazione di siti che hanno anche conseguito dei certificati per il loro sapere. Non è però necessario essere dei maestri per poter gestire il proprio sito (almeno finché non si vuole diventare professionisti del settore).

Le sigle che bisogna conoscere, in ordine di importanza, sono: HTML, CSS, JAVASCRIPT, PHP. Ce ne sono ovviamente tante altre e certamente non bisogna sapere tutto di tutti i linguaggi. Di queste sigle bisogna però sapere il minimo indispensabile perché non c’è personalizzazione possibile senza conoscere le prime due in nessuna piattaforma, figuriamoci su wordpress, che richiede anche la conoscenza del PHP.

Sarei tentato di realizzare dei mini corsi riassuntivi, magari una pagina per linguaggio… per il momento dò soltanto delle indicazioni su dove è possibile imparare facilmente queste informazioni.
html.itIl sito HTML.it ha una sezione per ciascuna delle quattro sigle: HTML, CSS, JAVASCRIPT, PHP. Io ho imparato da lì, con un po’ di pazienza non risulta difficile, soprattutto se si inizia (come sarebbe giusto fare) dall’HTML. Per chi invece vuole approfondire solo il PHP suggerisco Phpnews.it.

Per chi è già pratico di linguaggi e vuole un aiuto con i codici dei colori e con i codici dei caratteri ho alcuni siti che possono risultare molto utili:

  • HTML color codes è una raccolta di colori con rispettivo codice. La scelta è molto ampia e visivamente immediata, soprattutto se si scorre la pagina fino in fondo.
  • ColorSchemer è un tool colorschemerche non ha prezzo: permette di convertire i numeri RGB che spesso vediamo in programmi di grafica come photoshop nel corrispondente codice di colore per il CSS. Ha anche il pregio di affiancare automaticamente una serie di colori a partire da un colore prescelto in modo da avere un tema di colori bello e pronto.
  • HTML – ascii è una tabella con tutti i codici per inserire qualsiasi carattere. Spesso capita di inserire in un sito un commento che contiene il segno “<” oppure “&” o altri caratteri che alla fine non vengono pubblicati. Bene, HTML – ascii permette di sapere che scrivendo “&lt;” invece di “<” verrà pubblicato proprio il secondo simbolo, senza misteriose sparizioni.

html logo

Share