Per cancellare tutte le righe che non contengono una parola si può usare la seguente regular expression:

^((?!parola).)*$

Per rimuovere l’associazione di default per i tipi di file in Windows 7 non è possibile utilizzare la GUI.

Ho provato in due modi.

Il primo modo è di eseguire da prompt dei comandi privilegiato

assoc .ext=

dove .ext è il file type da dissociare (esempio .jar). Questo modo non mi ha data sempre i risultati sperati.

Il secondo modo è di modificare direttamente il registro di Windows in:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

Di seguito ci sono alcune query utili per la modifica di xml type su Oracle 10g.

Trova tutti i record che hanno il nodo:
SELECT * FROM mia_tab t WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 1;

Trova tutti i record che hanno il nodo vuoto;
SELECT * FROM mia_tab t WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 1 AND existsNode(t.xml,'/miaRoot[string(mioNodo) = ""]') = 1;

Trova tutti i record che non hanno il nodo:
SELECT * FROM mia_tab t WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 0;

Modifica il valore del nodo in tutti i record che hanno il nodo non vuoto:
UPDATE mia_tab t SET t.xml = updateXML(t.xml, '/miaRoot/mioNodo/text()', t.campo) WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 1 AND existsNode(t.xml,'/miaRoot[string(mioNodo) = ""]') = 1;

Elimina il nodo da tutti i record che hanno il nodo vuoto:
UPDATE mia_tab t SET t.xml = deleteXML(t.xml, '/miaRoot/mioNodo') WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 1 AND existsNode(t.xml,'/miaRoot[string(mioNodo) = ""]') = 1;

Aggiunge il nodo valorizzato a tutti i record che non hanno il nodo:
UPDATE mia_tab t SET t.xml = insertChildXML(t.xml, '/miaRoot', 'mioNodo', XMLType('<mioNodo>'||t.campo||'</mioNodo>')) WHERE existsNode(t.xml,'/miaRoot/mioNodo') = 0;

Per fare un aggiornamento multiplo di un campo di una tabella con ad esempio un altro campo dello stesso record si usa (pl/sql):
update c_1_documento d set (data_da) = (select data from c_1_documento d1 where d.id = d1.id)

Per far comunicare Apache Httpd e Tomcat via mod_jk sotto selinux bisogna impostare alcune cose in selinux.

Innanzi tutto bisogna permettere a mod_jk di scrivere i file di lock: per fare questo creo la directory

/var/run/mod_jk

e gli assegno il contesto “httpd_var_run_t”

semanage fcontext -a -t httpd_var_run_t "/var/run/mod_jk(/.*)?"

Quindi devo dire a mod_jk dove scrivere i lock: modifico la configurazione di httpd

JkShmFile /var/run/mod_jk/jk-runtime-status

Ora devo permettere a Httpd di fare connessioni di rete

setsebool -P httpd_can_network_connect=1

Ora dovrebbe funzionare tutto.

Nel caso il sistema linux abbia abilitata la Security-Enhanced Linux (SELinux) per creare le DocumentRoot di virtual host al di fuori di quella di default bisogna assegnare queste directory al contesto “httpd_sys_content_t“.

Quindi, se voglio creare le mie nuove DocumentRoot sotto /htmain, ad esempio /htmain/web1, /htmain/web2 ecc., basta assegnare /htmain al contesto “httpd_sys_content_t“: tutti i nuovi figli di htmain utilizzeranno il contesto del padre (questo vale anche per i file copiati, ma non per quelli mossi).

$/usr/sbin/semanage fcontext -a -t httpd_sys_content_t /htmain
$cat /etc/selinux/targeted/contexts/files/file_contexts.local
$/sbin/restorecon -v /htmain

$md /htmai/web1

N.B.

Errori del tipo “Warning: DocumentRoot [xyz] does not exist” quando la directory xyz esiste e ha le corrette permission possono essere imputabili alla presenza di SElinuz.

Lo si può verificare con il comando sestatus che deve dare enforcing come modo

$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file:

per controllare che un file appartenga al contesto “httpd_sys_content_t” si deve usare il flag -Z con il comando ls

$ls -Z /var/www/html/index.html
-rw-r--r-- root root root:object_r:httpd_sys_content_t /var/www/html/index.html

Per far si che l’output di una pagina jsp (in realtà di una qualsiasi pagina dinamica) venga interpretato dal browser come un file da aprire o scaricare  bisogna impostare oltre al mime type della pagina anche l’header “Content-Disposition” nella response.

Esempio csv
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment;filename=\"export.csv\";");

Improvvisamente sul mio sistema XP SP3 il RRAS ha smesso di funzionare dando il seguente errore:

The Routing and Remote Access service terminated with service-specific error 340 (0x154).

La ricerca su intenet mi ha fornito la seguente soluzione che sebbene vecchia di ben 5 anni funziona ancora.

Con Notepad creare un file di patch del registro (es fix.reg) con il seguente contenuto:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{6BC096C4-0CE6-11D1-BAAE-00C04FC2E20D}]
"AppID"="{A5CEB593-CCC3-486B-AB91-9C5C5ED4C9E1}"
@="IAS OLE-DB Data Store"

[HKEY_CLASSES_ROOT\CLSID\{6BC096C4-0CE6-11D1-BAAE-00C04FC2E20D}\InprocServer32]
"ThreadingModel"="Free"
@="C:\\WINDOWS\\System32\\iasrecst.dll"

[HKEY_CLASSES_ROOT\CLSID\{6BC09693-0CE6-11D1-BAAE-00C04FC2E20D}]
"AppID"="{A5CEB593-CCC3-486B-AB91-9C5C5ED4C9E1}"
@="IAS Netsh Jet Helper"

[HKEY_CLASSES_ROOT\CLSID\{6BC09693-0CE6-11D1-BAAE-00C04FC2E20D}\InprocServer32]
"ThreadingModel"="Free"
@="C:\\WINDOWS\\System32\\iasrecst.dll"

[HKEY_CLASSES_ROOT\CLSID\{6BC09692-0CE6-11D1-BAAE-00C04FC2E20D}]
"AppID"="{A5CEB593-CCC3-486B-AB91-9C5C5ED4C9E1}"
@="IAS Attribute Dictionary"

[HKEY_CLASSES_ROOT\CLSID\{6BC09692-0CE6-11D1-BAAE-00C04FC2E20D}\InprocServer32]
"ThreadingModel"="Free"
@="C:\\WINDOWS\\System32\\iasrecst.dll"

Applicare la patch.

Quindi eseguire il seguente comando:

regsvr32 C:\WINDOWS\System32\iasrecst.dll

A questo punto il servizio è ripartito correttamente.

Sincronizzare direttamente un Nokia N73 con Thunderbird su Windows sembra una cosa impossibile…

La soluzione migliore, che ho trovato in tutti gli articoli che ho letto online, è quella  di utilizzare un servizio internet SyncML come ponte e di usare la connessione dati del telefono per la sincronizzazione. Il problema di questa soluzione è che la connessione non è gratuita.

A questo punto ho pensato: ma se il servizio SyncML fosse installato in locale, basterebbe connettere il telefono via bluetooth…

Ma è possibile fare una connessione TCP/IP over BT  da N73?

Fortunatamente si, utilizzando GnuBox. Ci sono molte guide a riguardo; una è consultabile qui.

In generale si crea una rete tra PC e telefono con un proprio set di indirizzi IP; ad esempio 10.0.0.1 e 10.0.0.2.

Una volta attivato e testato il collegamento BT tra l’N73 e il PC, si può passare al server SyncML.

Come server SyncML ho scelto  Funambol.

L’installazione di Funambol e il suo utilizzo di base sono molto semplici: basta guardare la “Funambol Installation and Configuration Guide”.

Seguendo i passi della guida si deve stare attenti ad utilizzare in “ServerSettings->EngineServer URI” l’indirizzo IP che il PC utilizza nel collegamento BT con il telefono.  Nel nostro esempio http://10.0.0.1:8080/funambol/ds

Una volta installato Funambol si deve installare il plugin per Thunderbird e configurarlo come da guida.

Una volta che tutto è installato e configurato, fare partire il server e provare a fare una sincronizzazione tra TB e Funambol.

In alcuni casi questa potrebbe fallire, in quanto Funambol si aspetta che il client lo chiami con http://10.0.0.1:8080/funambol/ds, ma questa rete è disponibile solo con il telefono collegato. Abbiamo due opzioni:

  • collegare il telefono con GnuBox
  • modificare l’ip in funambol con uno valido, ricordandosi di risistemarlo una volta fatto il test (in questo caso serve comunque che ci sia una rete abilitata).

Una volta che  la sincronizzazione tra TB e Funambol è ok si può andare sul telefono.

Strumenti->Sincronizzazione->Opzioni->Nuovo Profil0

Impostare le applicazioni:

  • Rubrica (db remoto “card”)
  • Agenda (db remoto “event”)

Impostare Connessione:

  • Versione del Server: 1.2
  • ID server: funambol
  • Tipo trasp. dati: Internet
  • Punto di accesso: Bt
  • Indirizzo host: http://10.0.0.1:8080/funambol/ds
  • Porta: 8080
  • Nome utente: xxxxx
  • Password: yyyyyy
  • Consenti rich. sincr.: si
  • Accetta rich. sincr.: no
  • Autenticaz. rete: no

Salvare e provare a fare la sincronizzazione. Con un pizzico di fortuna riuscirete a sincronizzare l’N73 con Thunderbird.

Quando si editano le impostazioni del punto d’accesso BT sull’N73 bisogna ripetere la procedura di configurazione di Gnubox.

Quindi:

  1. “Opzioni” -> “Install” -> “Create records”.
  2. “Opzioni” -> “Exit”.
  3. “Opzioni” -> “Install” -> “set RAS login script”.
  4. “Opzioni” -> “2box Bluetooth” -> “Serial port”.

Pagina successiva »

Follow

Get every new post delivered to your Inbox.