How to reset file/directory permissions with chmod on web server.

The solution is quiet simple: just exec following commands inside site’s root:

find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755

Magento: convert all wrong product links in their canonical equivalent.

Sometimes in magento product links are listed in the following mode:
catalog/product/view/id/3/s/product-name/category/3/
which can be very inconvenient from the SEO point of view. To solve this issue you can force a canonical form of product url in following mode:

In theme/template/catalog/product/list replace all instances of

$_product->getProductUrl()

with

Mage::getUrl($_product->getUrlKey())

Edit attribute(show,x) template in EzPublish

You know when you are using attribute(show,2) on some variable and you can’t understand levels of variable’s contents? I do, so i decided to tweak a bit this function.

All you need to do is open
lib\eztemplate\classes\eztemplateattributeoperator.php
and replace all instances of $spacing = str_repeat( “>”, $cur_level ); with $spacing = str_repeat( “==”, $cur_level );

Now it’s a bit more understandable.

Colonna sonora di “Real Steel”

Se avete visto questo film, forse vi è piaciuta la colonna sonora utilizzata (anche se a mio avviso hanno messo un po troppo hip pop). Nel caso volete riascoltarla su youtube o comprarla su itunes eccovi l’elenco dei brani:

1. Fastlane – Bad Meets Evil (Edited)
2. Here’s A Little Something For Ya – Beastie Boys (Edited)
3. Miss The Misery – Foo Fighters
4. The Enforcer – 50 Cent (Unreleased)
5. Make Some Noise – The Crystal Method Featuring Yelawolf
6. Till I Collapse – Eminem (Edited)
7. One Man Army – Prodigy & Tom Morello
8. Give It A Go – Timbaland Featuring Veronica
9. The Midas Touch – Tom Morello
10. Why Try – Limp Bizkit (Edited)
11. Torture – Rival Sons
12. All My Days – Alexi Murdoch
13. Kenton – Danny Elfman

E invece per quanto riguarda il contributo di grande Danny Elfman:
Continua…

Le novità sui ricorsi dal giudice di pace per le multe.

Ci sono diverse novità in arrivo… Dopo l’introduzione del contributo unificato (37 euro anche per ricorsi contro le multe per divieto di parcheggio di 39 euro <.<), dal 6 ottobre il termine per opporsi ad una multa si sono dimezzati passando da 60 ai 30 giorni a partire dalla data di accertamento (nel caso di notifica immediata) o notifica del verbale.

Altra novità è che se il ricorso è stato respinto, il magistrato potrebbe aumentare l’importo della sanzione fino al massimo previsto. Per esempio, se superate il limite di velocità di oltre 10 km/h (ma sotto i 40), la multa che vi arriva a casa è di 159 euro. Se presentate un ricorso e lo perdete, il magistrato potrebbe decidere di portare l’importo dela sanzione fino a 639 euro

 

Bloccare i bot con Nginx in base al loro User Agent

Ecco un piccolo snippet utile per bloccare i bot che non desideriate che si aggirano sul vs. server.

if ($http_user_agent ~ "(Purebot|MaMa CaSpEr|libwww-perl|Mail.Ru|gold crawler)" ) {
    return 403;
}

Le virgolette servono a causa dello spazio in “gold crawler”, altrimenti riceverete l’errore [emerg] invalid condition “$http_user_agent”

Problemi con mib di snmpd su debian

Cercando di estendere le funzionalità di snmpd mi è uscito seguente errore


MIB search path: /root/.snmp/mibs:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (SNMP-FRAMEWORK-MIB): At line 9 in /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Cannot find module (SNMPv2-SMI): At line 8 in /usr/share/mibs/netsnmp/NET-SNMP-MIB
Did not find 'enterprises' in module #-1 (/usr/share/mibs/netsnmp/NET-SNMP-MIB)
Unlinked OID in NET-SNMP-MIB: netSnmp ::= { enterprises 8072 }
Undefined identifier: enterprises near line 10 of /usr/share/mibs/netsnmp/NET-SNMP-MIB
Cannot find module (SNMPv2-TC): At line 21 in /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Did not find 'SnmpAdminString' in module #-1 (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'netSnmpObjects' in module NET-SNMP-MIB (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'netSnmpModuleIDs' in module NET-SNMP-MIB (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'netSnmpNotifications' in module NET-SNMP-MIB (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'netSnmpGroups' in module NET-SNMP-MIB (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'DisplayString' in module #-1 (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'RowStatus' in module #-1 (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Did not find 'TruthValue' in module #-1 (/usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB)
Unlinked OID in NET-SNMP-AGENT-MIB: nsAgentNotifyGroup ::= { netSnmpGroups 9 }
Undefined identifier: netSnmpGroups near line 545 of /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Unlinked OID in NET-SNMP-AGENT-MIB: nsTransactionGroup ::= { netSnmpGroups 8 }
Undefined identifier: netSnmpGroups near line 536 of /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Unlinked OID in NET-SNMP-AGENT-MIB: nsConfigGroups ::= { netSnmpGroups 7 }
Undefined identifier: netSnmpGroups near line 515 of /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Unlinked OID in NET-SNMP-AGENT-MIB: nsCacheGroup ::= { netSnmpGroups 4 }
Undefined identifier: netSnmpGroups near line 505 of /usr/share/mibs/netsnmp/NET-SNMP-AGENT-MIB
Unlinked OID in NET-SNMP-AGENT-MIB: nsModuleGroup ::= { netSnmpGroups 2 }

Cercando un po in giro ho trovato che questo errore è causato dal fatto che per motivi della licenza, i mib extra non sono più inclusi dentro il pacchetto standard di snmpd. Per risolvere questo problema basta lanciare seguente commando:

apt-get install  snmp-mibs-downloader

Come configurare mc (midnight commander) per usare vim durante la modifica dei file

Se volete che premendo F4 in midnight commander vi esca il vostro caro vecchio vim invece dell’editor allora dovete andare in Opzioni->Configurazione e togliere la spunta sulla voce “Usa editor interno

Se dopo questa operazione ancora non vedete il vim ma per esempio nano, allora eseguite

sudo update-alternatives –config-editor

e selezionate dalla lista vim-basic

Script di riconnessione per JDownloader e Netgear dgn2200

Ecco uno script di riconnessione per jDownloader e router netgear dgn2200.

E’ uno script preposto per la connessione PPPOE, nel caso in cui non dovess funzionare vi invito a provare il wizard di jDownloader per la creazione di script di riconnessione.

Una nota: con mio router capita a volte che durante riavvio della connessione, essa si blocca e unico modo per riavere internet è quello di riavviare il router. Ho scritto un piccolo programmino che dovrebbe verificare lo stato di connessione e nel caso in cui la linea non risponde per un dato periodo di tempo, effettui il riavvio del router. A breve rilascerò una versione pubblica scaricabile, stay tuned ;)

Continua…

119: come parlare con un operatore…

Potrebbe sembrare un operazione semplice, ma la realtà si rivela alquanto complicata (è una vera impresa riuscire a beccare un operatore tim). Oggi (dopo aver effettuato la portabilità mnp) ho provato ad attivare la tim young. Il sito della tim (119selfservice) riportava questo messaggio:

Siamo spiacenti, TIM YOUNG è un’offerta ad edizione limitata attivabile dai clienti che hanno fino a 30 anni.

Ho chiamato il numero dell’assistenza (119), ma la cosa si è rivelata un calvario infinito dove dopo la voce richiedi assistenza mi veniva proposto di andare sul sito oppure tornare al menu principale.

Dopo alcune ricerche su internet ho scoperto che al giorno d’oggi (agosto 2011) esistono due opzioni per riuscire a parlare con un operatore tim:

a) Passare dalla via di “ho smarrito la mia sim” (e beccarsi un infamata dall’operatore)
b) Oppure premere 4, aspettare che la voce automatica annuncia tutte le opzioni e non premere nulla. Alla seconda o terza ripetizione, vi verrà proposta l’opzione “oppure premi 0 per parlare con un operatore”. Et voila :)

 

Aggiornamento: A quanto pare Tim ha levato anche il tasto 0 (almeno ad oggi, 20 settembre 2011). Quindi unico modo per parlare con loro è passare dal menu sim & smarrimento. Si va in “Per tutte le altre richieste (6)”, poi “Assistenza (5)” -> “Smarrimento Sim” (1) -> poi 2