



4 Gennaio 2010
Con l'arrivo del nuovo anno è giunto il momento di dare una ripulita al computer. Non formattando quasi mai, e non avendo mai tempo di rimuovere quello che non utilizzo più, era diventato una specie di bidone dell'immondizia.
Una delle cose che avevo da tempo intenzione di fare era rimuovere Ubuntu dal disco per poi andarlo a virtualizzare. L'avessi mai fatto: rimuovo le partizioni Linux, estendo la partizione dati, creo la partizione per il file di swap, riavvio...BOOOOOOM!!!
Mi ero completamente dimenticato di sostituire GRUB con il bootloader di Vista.
Se è accaduto anche a voi quanto scritto ecco come risolvere l'inghippo andando a ripristinare l'MBR di Windows Vista.
Munitevi del disco di installazione di Windows Vista e di un po' di pazienza. Avviate il computer dal DVD e seguite questi semplici passi:
Se tutto è andato bene, con questa procedura avrete ripristinato l'MBR di Vista e tornerete ad utilizzare il vostro computer come al solito.
22 Dicembre 2009
Con l'avvento del Web 2.0 l'RSS (acronimo di Really Simple Syndication) è diventato lo strumento più popolare per la distribuzione dei contenuti. Si tratta di file scritti in XML con un DTD (Document Type Definition) standard stilato da consorzio W3C.
Effettuare il parsing di questi file con PHP è un operazione piuttosto semplice: specie se si utilizza la classe simpleXML().
Prendiamo un esempio di feed RSS ed analizziamone la struttura:
<?xml version="1.0" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>TITOLO DEL FEED</title>
<link>http://www.urlsitofeed.com/</link>
<description>DESCRIZIONE DEL SITO</description>
<language>it-IT</language>
<lastBuildDate>Mon, 01 Dec 2000 00:00:00 +0100</lastBuildDate>
<item>
<title>TITOLO ARTICOLO 1</title>
<description>DESCRIZIONE DELL'ARTICOLO</description>
<link>http://www.urlsitofeed.com/pagina-articolo.html</link>
<pubDate>Mon, 01 Dec 2000 00:00:00 +0100</pubDate>
</item>
<item>
<title>TITOLO ARTICOLO 2</title>
<description>DESCRIZIONE DELL'ARTICOLO</description>
<link>http://www.urlsitofeed.com/pagina-articolo.html</link>
<pubDate>Mon, 01 Dec 2000 00:00:00 +0100</pubDate>
</item>
</channel>
</rss>
Vediamo dunque una parte iniziale presentante le informazioni sul feed che si vuole leggere (TITOLO, DESCRIZIONE, LINK AL SITO, LINGUA DEL FEED, ULTIMO AGGIORNAMENTO) e, successivamente, tante sezioni, contrassegnate dai tag <item></item> che contengono le informazioni sugli articoli (TITOLO, DESCRIZIONE, LINK ALL'ARTICOLO, DATA DI PUBBLICAZIONE).
Apriamo il nostro editor PHP e creiamo questo semplice script:
<?php
$getfile = file_get_content('http://www.urlsitofeed.com/feedRSS.xml');
$xml = new SimpleXMLElement($getfile);
Fatto questo abbiamo recuperato tutto il contenuto del feed RSS e siamo pronti per l'elaborazione.
Dobbiamo ora creare due array: il primo conterrà le informazioni sul feed RSS e il secondo i dati di ogni articolo. Proseguendo dunque scriviamo:
$feed_info = array();
$feed_art = array();
Alle celle del primo array assegnamo:
$feed_info['titolo_feed'] = $xml->channel->title
$feed_info['link_feed'] = $xml->channel->link
$feed_info['descrizione_feed'] = $xml->channel->description
$feed_info['lingua_feed'] = $xml->channel->language
$feed_info['last_upd_feed'] = $xml->channel->lastBuildDate
Il secondo array lo andremo a riempire mediante l'utilizzo del costrutto foreach() in maniera tale da costruire un array bidimensionale:
$i = 0; #inizializzo a 0 una variabile indice
foreach($xml->channel->item as $item)
{
$feed_art[$i]['titolo_articolo'] = $item->title
$feed_art[$i]['descr_articolo'] = $item->description
$feed_art[$i]['data_articolo'] = $item->date("d-m-Y H:i:s", strtotime($item->pubDate));
$feed_art[$i]['link_articolo'] = $item->link
$i++;
}
?>
Bene, ora tutte le informazioni e gli articoli del feed RSS sono contenuti nei due array. Vi basterà, con altrettanti costrutti di loop, stampare a video il tutto.
Non mi dilungo in questo ultimo passaggio perchè si presume che sappiate già come fare.
21 Dicembre 2009
Oggi per la prima volta mi è capitato di utilizzare e API di Google Maps per inserire una mappa nella classica pagina "Dove Siamo".
Vi illustro dunque i passi base per effettuare questa semplice operazione.
Prima di tutto occorre abilitare il sito all'utilizzo di Google Maps. Per fare questo portatevi su questo indirizzo ed inserite l'URL del vostro sito. Lanciato il form otterrette il codice e dei link ad alcuni esempi di utilizzo.
Fatto questo possiamo procedere all'inserimento vero e proprio.
Apriamo il file HTML in cui si vuole inserire la mappa e tra i tag <head></head> inseriamo questo codice javaScript
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=CODICE-FORNITO-DA-GOOGLE" type="text/javascript"></script>
<script type="text/javascript">
function initialize(){
if (GBrowserIsCompatible()){
var map = new GMap2(document.getElementById("map_canvas"));
var latlng = new GLatLng(45.700311, 9.013092);
map.setCenter(new GLatLng(latlng), 13);
var marker = new GMarker(latlng);
map.addOverlay(marker);
GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml('DESCRIZIONE DEL MARKER');});
}
}
</script>
Mediante il codice appena visto poniamo le basi per l'inserimento della mappa nella nostra pagina.
Le uniche modifiche da apportare riguardano:
Occorre ora modificare il tag <body> della pagina con il seguente:
<body onload="initialize()" onunload="GUnload()">
Ed infine inserire, nel punto in cui si vuol mostrare la mappa questo codice:
<div id="map_canvas" style="width: 565px; height: 424px"></div>
24 Ottobre 2009
Una delle feature più contestate in rete riguardo Windows Vista è l'User Account Control (UAC).
Personalmente la ritengo una migliori cose inserite da Microsoft in questo sistema operativo. Però voglio accontentare tutti: chi non lo può soffrire e chi lo ama.
Per impostazione di default, l'installazione di Vista si conclude con la realizzazione di un account con privilegi di amministratore. Il tutto si traduce in un semplicissimo "Consenti" per l'installazione dei programmi ed eventuali accessi agli strumenti di sistema.
Premesso che se usate un notebook è buona norma proteggere il computer con una password, per ovviare a questo problema (in tutti i sensi) basta agire sulla seguente chiave di registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdmin
A questo punto ci sono tre valori da assegnare a seconda delle esigenze:
La procedura non disabilita l'UAC ed è valida anche per la chiave sottostante ConsentPromptBehaviorUser, che riguarda l'account con privilegi di utente, e non richiede il riavvio dell'OS.
15 Gennaio 2008
OpenOffice è sempre stato in passato un'ottima alternativa al costoso pacchetto di casa Microsoft. La versione 2007 del pacchetto Office ha introdotto il formato OpenXML che consente di salvare file con nuove estensioni: ad esempio .docx per Word 2007. Questo genere di file non è gestito da OpenOffice.
Ovviamente il pacchetto Microsoft continua a conservare il vecchio formato, quindi il problema potrebbe essere aggirato così. Ma insorge un altro problema: il vecchio formato ha delle limitazioni rispetto al nuovo. A questo punto come facciamo a gestire i documenti OpenXML in OpenOffice?!
La soluzione c'è! Figurati se il pinguino mi lasciava a terra. Bisogna scaricare una estensione sviluppata da Novel. La fregatura è che questa add-in funziona solo con le versioni di OpenOffice rilasciate da Sun e non con quelle standard. Inoltre è compatibile solo con SUSE Linux 9.3 e successive.
E che palle!!! - mi sono detto - Ma se io uso Ubuntu che faccio, mi attacco?!
Una googlata mi viene in aiuto. Fermo restando che se abbiamo una versione standard di OpenOffice ci tocca installare quella distribuita da Sun, possiamo, allungando un pò il procedimento, utilizzare l'estensione anche su Ubuntu.
Scarichiamo, dunque, il file odf-converter-1.0.0-5.i586.rpm dal questo indirizzo. A questo punto dobbiamo convertirlo nel formato .tgz mediante l'utility alien. Se non è ancora installata fatelo con:
sudo apt-get install alien
Chiusa la parentesi per l'installazione di alien veniamo alla conversione del file. Eseguiamo, sempre da terminale il seguente comando:
fakeroot alien -ct odf-converter-1.0.0-5-i586.rpm
Ora scompattiamo il file risultante:
tar xzf odf-converter-1.0.0.tgz
Dopodiche è necessario copiare tre file nelle opportune directory di OpenOffice.
sudo cp /usr/lib/ooo-2.0/program/OdfConverter usr/lib/openoffice/program/
sudo cp /usr/lib/ooo-2.0/share/registry/modules/org/openoffice/TypeD
etection/Filter/MOOXFilter_cpp.xcu
/usr/lib/openoffice/share/registry/modules/org/openoffice/Type
Detection/Filter/
sudo cp usr/lib/ooo-2.0/share/registry/modules/org/openoffice/TypeD
etection/Types/MOOXTypeDetection.xcu /usr/lib/openoffice/TypeDetection/Types/
Fatto questo riavviamo OpenOffice. Abbiamo finito!
Se trovate errori di battitura o delle omissioni nel testo segnalateli!