Snippets OpenERP per Geany

   
Programmare per OpenERP significa utilizzare un framework che, forte delle sue potenzialità, gode di una sintassi semplice e chiara da usare. Molto spesso, però, essendo la sintassi di un framework diversa da quella del linguaggio su cui è basata può risultare complesso ricordare tutto e si ricorre al classico copia e incolla di pezzi di codice già utilizzati in altre circostanze.
Da questa particolare situazione nasce lo sviluppo della personalizzazione degli snippets di Geany (l’editor che prediligo in fase di programmazione) per adattarsi allo sviluppo di moduli e personalizzazioni di openERP.
Il suo uso è molto semplice e prevede semplicemente la conoscenza di una serie di tag (volutamente mnemonici) che una volta digitati e seguiti dalla pressione del tasto TAB autocompletano il sorgente con lo snippet ad essa collegato.
Se ad esempio stiamo creando la vista ed abbiamo bisogno di inserire un nuovo form, basterà scrivere
form
e premere TAB per veder comparire nel nostro documento una struttura completa della classica form.

Sicuramente tutto questo porterà un interessante vantaggio ed un notevole risparmio di tempo quando si programma.
Attualmente il file può essere scaricato da github e prevede numerosissimi snippets sia per il codice python che per quello xml. Allo stesso link è spiegato come installare il tutto ed è definita la lista dei tags.
   

Wireless su HP Compaq NX6110 con Ubuntu 12.04

  
Gli avanzamenti di versione delle distribuzioni GNU/Linux portano sempre importanti novità e molte migliorie ma può capitare che portino anche problemi.
È il caso di un HP Compaq NX6110, passatomi sotto mano, che dopo il passaggio dalla versione 11.10 alla 12.04 di Ubuntu ha visto il wireless smettere di funzionare immediatamente. 
La cosa interessante era notare come il gestore di rete indicasse che il wireless risultava disabilitato mediante l’apposito tasto e che lo stesso non sortisse alcun effetto se premuto. A questo punto è stato necessario risalire alla scheda di rete.
Entrando nel terminale e digitando
———-
lspci
———-
si è trovato un output simile al seguente:
———-

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1d.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC’97 Audio Controller (rev 03)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC’97 Modem Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
02:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
02:06.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
02:0e.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

———-

Nella riga evidenziata si vede che il portatile in questione monta una scheda di rete wireless Intel modello 2200BG.

Per riabilitare nuovamente questo modello di schede su Ubuntu 12.04, pertanto, basta entrare nel terminale e digitare in successione i seguenti comandi:

———-
sudo rfkill unblock 0
sudo rfkill unblock1
sudo rfkill list all
———-

Riavviate ed avrete nuovamente il wireless attivo.
  

Testython: Controllare ogni parametro del proprio codice Python

  
Sviluppare del buon codice vuol dire sicuramente sottoporre ciò che si scrive ad un continuo controllo di integrità, stabilità ed affidabilità. I software migliori, infatti, oltre a proporre all’utente un elevato numero di features e strumenti, sono veloci nell’eseguire le operazioni e leggeri su ogni tipo di memoria che viene messa loro a disposizione.
Avere degli ottimi strumenti di debug sicuramente aiuta lo sviluppatore che così può vagliare diverse opzioni al fine di garantire ai suoi utenti lo snippet di codice migliore all’interno dei suoi software.
Proprio da quest’idea nasce Testython.
Testython è un semplicissimo modulo per python (attualmente minimale ed in fase di sviluppo) che si pone l’obiettivo di proporre degli strumenti agli sviluppatori che garantiscano il pieno controllo su molte sfaccettature del codice al fine di poter aiutare nella scelta delle migliori alternative vagliate così da poter scrivere ottimi software sia per quanto riguarda il peso (in termini di memoria utilizzata) che la velocità. Lo scopo di questo modulo è quello di essere un coltellino svizzero, semplice da usare e facile da imparare.

Attualmente il modulo si compone di due classi: test_time e test_memory. Come è facilmente intuibile, la prima si occupa di analizzare le tempistiche di esecuzione del codice mentre la seconda l’uso della memoria da parte delle variabili utilizzate.

All’interno della cartella dei sorgenti è possibile trovare un semplice memento che potrà essere utile per una rapida consultazione ed inoltre è presente uno script di esempio completo che permette di analizzare l’uso dei diversi strumenti che il modulo, allo stato attuale, propone.

Come sempre sono ben accette tutte le forme di sostegno ed aiuto. Ogni suggerimento che può aiutare il software a crescere sarà vagliato e sviluppato.

Buon uso…