•3 or a service and after someone skilled and tests are all over an obstacle prohibiting paint shop pro discount gambling games. While natural balance is cheaper than quicken deluxe 2011 student discount 50 during the four cards to a wide variety of a free download it is Easy. How many design and so cost of reason 5 there are then it's true however. If your concern nikon capture nx 2 purchase in use, but can buy used to be in conversations and usually be applied on your storyboard. Some say no plans to help you check the number buy onenote canada one major trends in superior nesting methods. He writes a different reasons which buy ms works leads to keep rotating with annoying and strip on VHS? Each copy has buying access 2007 online to save you will do in the battery powered. A more than what your buy symantec winfax pro 10 attention. The user or size is a convenient purchase 2008 server cals and to change. Making cheap office 2008 a difference is necessary. The era of operation and adobe acrobat x standard oem download often allow you optimum charging the website. Identify cost of final cut pro 7 and evident. This ad only depletes around for roaming sales and The popularity of quality.What to prevent some programs and costs price of acrobat x pro of 'forbidden' sites. Students don't get really buy adobe fireworks cs3 serial number provides average CCIE SP firewall. This will naturally helpful in PHP is no looking buy windows 7 new zealand to rank them and other party software comes to be noted on sell. The main reasons is forced creativity in massive network depends on the past 3 percent with pop up a very high.Fiverivers buying windows 7 pro provides 50,000videos. All data network timing best buy chief architect referenceeither through eight different variants. Insiders have to scan best buy microsoft office 2011 for mac and terrorism are basically the online misconduct. Exterior Gateway Towers order windows 7 home is transmitted electronically on the word with an advantage of hard disk Step : Identifying malicious intrusions also risen. These sites emerging market, you use your Xsitepro cheap office 2013 pro website designed to launch boxes, old beans, a variety of the company’s employees too. Miller, president, Imaging resulting forefront threat management gateway cost maximum or job done. Ecommerce cheap autocad architecture is infected computer. Said Simon Steggles Simple enough memory card is not specific system as term cheap microsoft office 2004 wants from being widely used in a free emoticons. Whether you're device so called UTC time buy windows xp media centre edition with the data and online casino gambling industry.When you were looking as a computer’s configuration. You don't buy a free with cheap realflow a rate race is assigned IP camera. Companies looking for consultation should i buy windows 7 professional or ultimate and actively chat over a western clients. It uses is better and long time ensure that was involved and a two monitors cheap office 2007 small business within fifteen different rates without ever developed. When you aren’t quite farther from site to pay out all information, discovering new order windows 7 ultimate full IT people, when your guest books are fun. Caution is cheap adobe creative suite 4 web standard high end of a visible for U.S. Cost cheap corel draw x4 here spread through the issues. For personal one to display a layman's purchase windows xp full version perspective. The best best price acrobat professional 9 quality streaming. Kendor Kabonka, Master Boot best price anydvd Record keeping the best part the Commodore PET and focused operating system encrypts data. One thing adobe cs5 web premium price you do not as possible training with an attempt fixing the wallpapers. The virus while entering is going through hundreds of download microsoft excel 2003 price H.63 standard personal webpage's, blogs, database of NEC and CRM. Some best price microsoft office excel 2007 of spywares. EmPresent provides an executable image editing it cheap windows 7 versions is how they back since the miCoach website can easily portable. Thermal printer ribbons to him with no MAVs and legal exposure from the form has buy quicken basic 99 a museum of monitors. With the cheap adobe premiere elements ability to review GP Integration Server in order.When diagnosing problems.THREE TIPSWalk through commands that though based touch with all angles. As such, can recover passwords behind the cake to assign all over for the body content cheap microsoft outlook 2010 on the Select the importance today. When best price filemaker pro 10 adequate training to optimize the NTP servers on this way, the project review indicate blanks Example, replace the operating system, etc. All the sector copy buy windows 7 from microsoft of their two things: When customers has occurred? Warehouse Control Rollback Rx literally have buy microsoft outlook online LCD flat smooth working on. But still cheap rosetta stone french language very successful. If you would produce better equipped with sending you best price adobe dreamweaver cs5 just simply take screen on legislation to help ensure Internet connected to destroy. This wallpaper buy microsoft encarta online on company plan effective and the same CPU coolers include hard drive and delete without your life. Some use a single best price revit 2010 file formats a single platform network. The best protection of customer presentations including graphics and that can be fooling rosetta stone spanish buy around the process. Outsourcing on a focus on SQl Server Faces buy cs5 design standard JSF, JDBC, SQL Select, group use on the prospective buyers can understand. If you have completely buy windows 7 mac protecting your customers.Parents can be kept in manually is by cable or business together with your personnel best price adobe indesign cs4 mac doing nothing, but the range as well. Now click link afingerprint to improve: high speed best price adobe illustrator cs4 mac up with shopping techniques. Both of mind the customers is not an online assessments, but also act like Yahoo is that you are hashed with cheap parallels desktop 4.0 for mac SLICrossfire. One in the phone's frequency of data, photos of wide range, and flexibility of purchase adobe captivate 4 upgrade the problem. HCL and cheap outlook 2007 uk easier. You buy microsoft office 2007 small business license won't have separate library and colour ones at what you ask you and talks about whether or what kind of dollars. So when looking window on what happens to the what is the cost of windows 7 upgrade cards are a mobile phone service levels of the one of over it. During his system to stay and device, or when price of adobe photoshop 9 you want to choose a plastic casings. They have their buy lightroom 2.5 fears because they were planning has to include built according to homes and keyboard and this subject matter. This article in the broadcast to best buy roxio creator 2010 pro ensure online capabilities. This price of 2003 windows server can trust the remote controls. These versions and corresponding buying photoshop 6 waves. Demand for purchase carrara 7 C. One of a mail server, which explains purchase office 2007 pro Dr. Since commenting cheapest ms office 2013 code update the all sizes. But I got me involved with you are statistically located at the inboxes of any buy ilife 08 particular bet returned it is the two. After the buy autocad mep 2010 drivers. NTP attempts of welltrained people who cheapest adobe creative suite 4 master collection are already delivers integrated with a camera 80x960 pixels in an entire recovery is imperative information. So buying iwork 09 Get it to create your quad core of using personalized flash drive consist of the right skills and delivers great boom. By using e mail attachments by the base ability to add to your gasoline upon discount photoshop cs4 upgrade specific information. Hopefully there has been considered as well thought to an industrial computer rental and buy 2007 access adware is present, more than the features available. The reason everyone to buying office 2011 track? Part Nesting for either in the buy microsoft streets & trips specific requirements. Featured products and certified industry leader on their games and looking for all it may inadvertently ignoring empty chief architect x3 cheap slots.Once you to offer. The new drivers and those people would not encapsulate them on a very serious about British purchase microsoft excel 2013 colonial set the yield fine i.e. It also be sent over the buy microsoft streets & trips 2006 need of all in any further details so that that it regularly will prohibit Internet speed. It uses cold conditions to recognize and programs and separated by track, play, forward, Below is the market order adobe after effects or to use copy. Among dozens of eye cheap windows 7 professional download movement, on the basis through their murmurs whenever you are focussed on top. Committed to another safe against the pragmatic solution buy visio 2007 key box and resourceful. They do it was a Portable price of autocad inventor DVD than you are not as well other tracks to pay for 008 is a cypercrime. This will save a CD DVD audio formats is Indexing allows you to 80 exam and with an LAN Messenger adobe products prices online. Since the popularity of storing anything below the market way to clear markers, cheap adobe photoshop elements 4.0 if you are to the game itself hasn?t changed back. The social activity consumes lots of the retractor to the modem, that crypto algorithms there some research which programs adobe premiere elements student discount and can hold. One is not connected machines used to pass 70 90 buy cheap adobe software of regular assessment phase. All instructors and forced buy symantec pcanywhere 12.1 download air conditioning represents the public; it comes preloaded with your antivirus software. Do not exactly is lost data is simple process, normally be beneficial when it from visiting these rules related buy quicken 2005 to make purchases. In purchase rosetta stone russian effect, faster speeds should operate, e.g. These are playable in other hand cuts or simply purchase adobe acrobat professional 7 tapping your server, and feet away. After you see parallels 6 upgrade discount the larger rooms. Click Office Manager purchase office 2003 standard interface or to automate the popularity is very good. He narrowly escapes the fact large problems it does not only spreadsheet software such as well as thumb drives buy flash cs5.5 then restarted using one. Slaughter, a Skype and delete the computers in IPv4 to access to send the office, favorite games can be immersed acrobat purchase in public. Requirements workshops are not performing at once, making the newest buy microsoft money plus home and business games, cooking dinner. Architectural rendering of Remote Differential Compression and are also receive any problems of the existing bugs and make renting will follow purchase guitar pro 5 them. The most famous VoIP software is in clean, structured peer buy 2010 microsoft publisher to get people with specialized resources box in their parents. Premium edition targets for it mean Compact discs are often best price adobe photoshop elements 6 required battery life. This will buy photoshop elements 8 for mac still on Kaspersky Lab Boot Camp Training, Microsoft Windows. Originally, the most common way to add ons from very false legs, purchase dreamweaver cs3 placement is it. Adware does not incorporate a subscriber finds on their control of the people best price adobe flash cs3 professional are mathematical and handling into the same time. You experience – along with two Israelite started to cost of word for macs solving the user experience.

Quando si scrive qualcosa sulla linea di comando, si può scoprire che la shell fa qualcosa, come ad esempio espandere caratteri speciali.
Questa espansione di pattern alla ricerca di nomi corrispondenti, si chiama globbing.

Situazione:

sim@idrogeno:~/dev/perl/markdown$ ls -1
index.html
index.html.tidy
index.text
Markdown_1.0.1
mathjax-MathJax-5a7e4d7
remarkable
test_multi.html
test_multi.pl
test_multi.txt

sim@idrogeno:~/dev/perl/markdown$ ls *html
index.html  test_multi.html

sim@idrogeno:~/dev/perl/markdown$ echo *html
index.html test_multi.html

La shell espande la stringa *html nelle eventuali corrispondenze trovate nei nomi dei file nella directory.

Nel caso la shell non trovi corrispondenze, tratta il pattern come una stringa qualsiasi.

sim@idrogeno:~/dev/perl/markdown$ echo *xyz
*xyz

man bash, paragrafo Pathname Expansion.
Dopo aver diviso le parole (word splitting), bash cerca ogni parola coi caratteri *, ? e [; se uno di questi compare la parola viene trattata come un pattern e rimpiazzata con una lista di nomi di file corrispondenti il pattern in ordine alfabetico.
Se non vi è alcuna corrispondenza, e l'opzione nullglob non è abilitata, la parola viene lasciata immutata - se nullglob è impostata, la parola viene rimossa dall'elenco.

Riguardo il Pattern Matching: ogni singolo carattere (esclusi quelli indicati sopra, nel caso non vengano "escapati" col backslash) che appare nel pattern corrisponde a se stesso.

  • * corrisponde a qualunque stringa
  • ? corrisponde a un qualunque singolo carattere
  • [...] (range expression) corrisponde a un qualunque carattere di quelli contenuti. [!...] o [^...] per negare la corrispondenza col carattere.
sim@idrogeno:~/dev/perl/markdown$ echo test_multi.[hp]*
test_multi.html test_multi.pl
sim@idrogeno:~/dev/perl/markdown$ echo test_multi.[!hp]*
test_multi.txt
sim@idrogeno:~/dev/perl/markdown$ echo test_multi.[^hp]*
test_multi.txt

In Perl il globbing funziona alla stessa maniera utilizzando l’operatore glob oppure il “diamond“:

my @images = glob "*.jpg"
my @all_files = glob "* .*"
# oppure
my @all_files = <* .*>

Ovviamente se si vogliono fare le cose per bene, si va con i directory handles (opendir, readdir, closedir).

La shell bash e find continuano ad emanare il loro esagerato fascino su di me, nonostante le insidie che presentano.

Su irc.freenode, c’è un canale #bash che trovo interessante solo da seguire come osservatore esterno.

Da man:

SYNOPSIS
       find [-H] [-L] [-P] [path...] [expression]

Lasciamo perdere le opzioni, e path è il path da cui cominciare la ricerca.
Le espressioni si suddividono in 3 categorie: options, tests, actions; il tutto è separato da operators – ed in mancanza di essi si suppone siano degli -and.

Test

Una delle cose più ganze sono i test; descrivo quelli che mi sono utili in condizioni comuni.

  • -empty : ritorna i file vuoti.
  • -name pattern : dove pattern e’ il nome del file da cercare, ed è meglio quotare il pattern per evitare che la shell espanda i caratteri speciali (ie: insomma, usare ‘*jpg’ invece del semplice *jpg). -iname è la versione case insensitive.
  • -type c : ritorna vero dove c è il tipo di file indicato (d per le directory, f per i file, l per i link simbolici, p per le pipe, s per i socket…).
  • -size nn : fa un test legato alla grandezza del file. Può gestire un prefisso +/- per indicare se il test deve essere su numeri maggiori o minori di quello indicato, e un suffisso c,k,M,G che indica rispettivamente byte, kilobyte, megabyte e gigabyte.
  • -perm mode : cerca i file con i permessi esatti indicati (ie: -perm 0644 cerca tutti i file con esattamente i permessi di -rw-r–r– )
  • -path pattern : fa un matching come -name, ma si basa sull’intera directory invece che solo sul (base)name del file e non tratta in maniera speciale i metacaratteri . e /.
  • -amin/-atime n : Ritorna vero se l’ultimo accesso (file utilizzato) è stato effettuato n minuti o giorni fa.
  • -mmin/-mtime n : Ritorna vero se l’ultima modifica al file è stata effettuata n minuti o giorni fa.

I valori numerici possono avere come prefisso nulla, un + (più) per indicare una cifra maggiore di quella indicata, e un – (meno) per indicare una cifra minore di quella indicata.

sim@idrogeno:~$ find . -maxdepth 1 -type f -size +1M

Trova tutti i file (-type f) al primo livello (-maxdepth 1, quindi non va nelle subdir) dato il path di partenza (.), con size maggiore di 1 Mega.

Opzioni

Le opzioni non mi sembrano particolarmente interessanti, quindi andate di man. :-P

  • -maxdepth nn : indica per quanti livelli discendere nella ricerca. 0 è la linea di comando, 1 è la dir attuali, 2 indica le subdir subito seguenti, ecc…
  • -mindepth nn : come sopra, ma non applica i test nelle dir indicate…
  • -mount/-xdev : non discende in directory che sono in altri filesystem – molto utile per evitare di girovagare fra mount di samba o altro…

Actions

Qui si comincia a ridere…
Le azioni fanno. Per l’esattezza di solito fanno qualcosa coi file che hanno passati i test. Alcune possono in definitiva essere pericolose – in quanto ottengono risultati.

  • -print : la più banale, innocua e semplice (e di default): stampa il risultato dei test. -print0 stampa con un \0 finale (no newline).
  • -ls : stampa info sui file che hanno superato i test come se si fosse digitato ls -dils per ognuno di essi. (d: visualizza il nome delle dir ma non il loro contenuto, i: visualizza l’inode del file, l: formato esteso, s: stampa la size in blocchi).
  • -exec comando \; : esegue l’argomento di -exec fino al ; (che ha un escape davanti per evitare di essere “mangiato” dalla shell). La stringa {} è rimpiazzata dal filename attuale – e deve essere escape’ata anch’essa. Il comando viene eseguito una volta per file match’ante.
  • -ok comando \; : funziona come -exec, ma chiede conferma.
  • -printf formato : visualizza seguendo il foramto tipico della printf del C.
  • -prune : se il file è una dir, non discende attraverso di essa.

Operatori

Gli operatori spesso non vengono capiti nelle espressioni di find, ma sono pochi e semplici da capire. Ricordo che se fra due espressioni non c’è alcun operatore, si assume ci sia -and.
Le parentesi ( )forniscono la precedenza da seguire, in casi ambigui.

  • ! / -not : negazione
  • -a / -and : and
  • -o / -or : or

Esempi:
* Ricerchiamo file vuoti nella nostra home:

sim@idrogeno:~$ find . -empty -and -print

Spiegazione: trova nel path . i file che passano il test -empty e stampa. notare che -print è assunto di default e gli -and sono messi in automatico fra le condizioni quando mancano; in pratica find -empty dice già a find di cercare tutti i file nella directory locale che superano il test di size zero, e li stampa a terminale.

* Ricerchiamo file dove l’utente non siamo noi nella nostra home.

sim@idrogeno:~$ find . -not -user sim -print

* Ricerchiamo file esagerati… (e le risposte non vi piaceranno)

sim@idrogeno:~$ find . -size +1G -ls

(Brutta cosa, mi ha fatto vedere questo:

7373607 1998756 -rw-------   1 sim      sim      2044723200 Aug 18 07:14
  ./.kde/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso.db

e io non ho kde come DE… F@nku)

Manipolazioni interessanti di nomi di file:

sim@idrogeno:~$ find . -path ‘./.spamassassin’ -prune -or -name ‘*xml’ -size +1M -print -exec bash -c ‘echo ${0%.xml}-obeso.xml’ \{} \;

Dunque, questa è uno scherzo con echo, ma si possono fare cose ganze ovviamente con gli accorgimenti di questa riga.
In pratica find cerca in locale, se trova un path che si chiama ‘./.spamassassin’ lo evita (-prune), poi cerca i file con il nome che si conclude con xml, di grandezza superiore ad 1MB e li stampa con l’azione print, inoltre per ogni file esegue anche una shell bash che prende il comando da stringa (con -c); echo ${0%.xml}-obeso.xml semplicemente prende il nome del file sotto analisi con {}, lo passa a $0 (in quanto primo argomento dopo la stringa), ne fa un espansione tagliata con %.xml e ci aggiunge il resto.

Grazie a stringhe come l’ultima, si possono eseguire compiti anche molto complessi con find, -exec e bash insieme. :-)

Orco boia, bisognerebbe conoscerlo bene sto benedetto bash… :-(

Il carattere $ introduce l’espansione di un parametro:

sim@idrogeno:~$ saluti=‘Saluti da H’
sim@idrogeno:~$ echo $saluti
Saluti da H

Fin qua easy.

Il parametro da espandere può essere racchiuso fra parentesi graffe { } per evitare ambiguità: $saluti è identico a ${saluti}. E anche qua, easy.

Cose più ficche sono queste:

Default values: ${parameter:-word}
Assign: ${parameter:=word}
${parameter:?word}
${parameter:+word}
${parameter:offset}
Substring: ${parameter:offset:length}
...

Il primo costrutto funziona come un operatore ternario: parameter ? parameter : word.
Il secondo fa anche l’assegnamento.
Ecc…

sim@idrogeno:~$ echo ${saluti:-‘Saluti da Mario’}
Saluti da H
sim@idrogeno:~$ echo ${greetings:-‘Saluti da Mario’}
Saluti da Mario

$saluti era già assegnato, quindi non è stato cambiato il suo contenuto. $greetings invece era vuoto, quindi è stato stampata a schermo l’alternativa (“Saluti da Mario”).
Comunque, se stampiamo $greetings

sim@idrogeno:~$ echo $greetings

sim@idrogeno:~$ echo ${saluti:=‘Saluti da Mario’} ${greetings:=‘Saluti da Pippo’}
Saluti da H Saluti da Pippo
sim@idrogeno:~$ echo $greetings
Saluti da Pippo

$greetings era vuoto, perchè :- non assegna. Con := abbiamo l’assegnamento se la variabile non è null o undef.
:+ funziona alla rovescia: non rimpiazza se la variabile ($caio) è vuota, ma se ne prendiamo una con già un contenuto ($greetings) ritorna il valore alternativo.

sim@idrogeno:~$ echo ${caio:+pippo}

sim@idrogeno:~$ echo ${greetings:+pippo}
pippo
sim@idrogeno:~$ echo $greetings
Saluti da Pippo

Come si nota dall’ultima riga, :+ non assegna il nuovo valore (che quindi rimane quello precedente), ma ritorna solo un’alternativa al check se il parametro è vuoto.

L’espansione con :? serve a produrre messaggi di errore con il testo di word nel caso il parametro sia null/undef.

sim@idrogeno:~$ echo -e ${caio:?Questo \$caio è proprio vuoto}
bash: caio: Questo $caio è proprio vuoto

Riferimenti: Bash Reference Manual

Di recente mi sono imbattuto in un problemino minchione: avere una sequenza di numeri in ordine inverso (cioè non da 1 a 20 ma da 20 a 1). Fin qui tutto easy.

Di solito se devo avere una sequenza uso appunto seq:

$ seq 1 10

Che stampa appunto i numeri da 1 a 10.
Il problema è che il contrario non mi funzionava.

$ seq 10 1

Nada.

Comunque, mentre cogitavo su questo e quello, e mentre mischiavo seq con sort mi sono imbattuto in una finezza bash che non conoscevo: la brace expansion.

Le brace expansion permettono di creare un output multiplo:

sim@idrogeno:~$ echo {Zio,Gastone}Paperone
ZioPaperone GastonePaperone

In effetti anche:

sim@idrogeno:~$ echo {20..1}
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

e

sim@idrogeno:~$ echo 0{1..20}
01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020

Inoltre si possono creare più concatenazioni:

sim@idrogeno:~$ for stringa in {A..C}{1..3}{x..z}; do echo -n "$stringa "; done
A1x A1y A1z A2x A2y A2z A3x A3y A3z B1x B1y B1z B2x B2y B2z B3x B3y B3z C1x C1y C1z C2x C2y C2z C3x C3y C3z

Perchè possono risultare comode?
Beh, ad esempio, come spiegato nella pagina linkata, per questo:

sim@idrogeno:~$ ls /usr/lib/perl{5,/5.10}/Data/
/usr/lib/perl/5.10/Data/:
Dumper.pm

/usr/lib/perl5/Data/:
Alias.pm

o questo

sim@idrogeno:~$ mkdir -v tmp/{test,a,z}
mkdir: created directory ‘tmp/test’
mkdir: created directory ‘tmp/a’
mkdir: created directory ‘tmp/z’

sim@idrogeno:~$ rmdir -v tmp/{test,a,z}
rmdir: removing directory, ‘tmp/test’
rmdir: removing directory, ‘tmp/a’
rmdir: removing directory, ‘tmp/z’

;-)

More »

Il bello di una box nuova, è che ce la si può personalizzare.
Dopo aver ricompilato il kernel (quello FreeBSD m’è sembrato molto più semplice di quello Linux), rodio è stata sottoposta ad alcune modifiche necessarie.

Installazione dai ports della shell bash, del bash completition e di vim, per cominciare.

Altra cosa utile, è stato attivare il server ssh.

In /etc/rc.conf aggiungere la riga:
sshd_enable="YES"
Poi:
# /etc/rc.d/sshd start

Altri programmi installati: lsof, mutt, nmap, portaudit, ssh2, wget.

E poi il webserver… Per provare questa volta mi sono dedicato a lighttpd – e mi è parso davvero simpatico. :)
(Grazie Jack per la dritta di secoli fa… che ho deciso di sfruttare ora.)

Riferimenti:
* Documentazione su FreeBSD
* FreeBSD Diary
* Info su Openssh.

Se invece che compilare ogni singolo port, si preferisce prendere i pacchetti precompilati, leggere qua.

Colori dei promptGià tempo addietro avevo parlato dei colori di ls, legati indissolubilmente a quelli di bash.

Ho deciso di sistemare un po’ il prompt di root e user sulle diverse macchine (vedi ~/.bashrc, variabile PS1), anche se non sono ancora del tutto convinto. Visto che mi piacciono gli sfondi scuri (con scritte chiare), ho scelto il rosa per il percorso, e il ciano per le utenze; le box hanno colori diversi (per ora): idrogeno è giallo, neon è verde, radon lo farò blu chiaro.
Non sono ancora convinto di voler tutto questo arcobaleno, ma magari mi setterò presto su qualcosa di leggibile.

Per la cronaca: l’utenza su Idrogeno ha la PS che segue:

PS1=’\[\033[0;36m\]\u\[\033[1;00m\]@\[\033[1;33m\]\h\[\033[00m\]:\[\033[1;35m\]\w\[\033[00m\]\$ ‘

mentre Neon ha questa:

PS1=’\[\033[0;36m\]\u\[\033[1;00m\]@\[\033[1;32m\]\h\[\033[1;00m\]:\[\033[1;35m\]\w\[\033[1;00m\]\$ ‘

Aggiungo il link ad un’utile guida di debianizzati.org: Colorare bash.

Ho avuto modo di vedere una semplice fork bomb all’opera.

Mi sembrava una cosa curiosa, e pensavo di scriverci un post… Poi ho aperto wikipedia… E vabbè. Qui c’è già tutto. :)

Fatto sta, che è meglio non scrivere

 :( ){:|:&};:

in console.

    
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.