Booklet: impaginare un pdf come un libro

Booklet

Un Booklet è sostanzialmente una raccolta di pagine sistemate a mo’ di libretto.
Se avete mai provato a dare un occhiata alla rilegatura dei libri, vi sarete accorti che questi sono composti da diversi gruppi di pagine rilegate assieme. Ogni gruppo è composto da diversi fogli, su ogni foglio sono stampate 4 pagine in modo che sovrapponendo tutti questi fogli e piegandoli a metà si ottenga un complesso di foglio leggibile sfogliando il mezzo-foglio.

Qualche giorno fa un mio amico mi fa una richiesta un po’ particolare. Ha un pdf e vuole stamparlo e rilegarlo come un libro. Si è già rivolto ad una tipografia, ma questi gli hanno chiesto una cifra spropositata, in fondo si tratta solo di riordinare pagine stamparne due a facciata e fronte retro, roba che non dovrebbe essere complessa per una tipografia.

All’inizio credevo la cosa fosse abbastanza difficile da realizzare in casa, non avevo alcuna esperienza di pdf-editing e di sicuro non avevo programmi professionali a disposizione per farlo.  Alla fine considerando tutto il tempo dedicato alla cosa (dalle ricerche con google al file finito) non credo di aver perso più di 30 min e il risultato è spettacolare.

Esistono dei fantastici tools che vanno sotto il nome di psutils che rendono tutto il processo estremamente semplice.

 

HowTo

Booklet8

Fig 2: Booklet di 8 pagine

Per prima cosa bisogna trasformare il nostro file pdf in un ps perché i psutils, come suggerisce il nome, lavorano con il formato ps.

 pdf2ps startFile.pdf

Il risultato di questo comando è un file di nome startFile.ps che è quello su cui andremo a lavorare.

Per prima cosa riordiniamo le pagine in modo che se stampate in ordine ci diano l’effetto booklet che desideriamo.

 psbook -s20 startFile.ps bookletted.ps

Il comando è abbastanza semplice da interpretare, c’è il file di input(startFile.ps) e il file di output(bookletted.ps), l’unica cosa che può lasciare qualche dubbio è l’opzione -s.
Con l’opzione -s indichiamo la dimensione dei singoli booklet che verranno prodotti. Ad esempio con l’opzione -s20 stiamo dicendo che ogni gruppo sarà composto da 20 pagine che verranno poi stampate su 5 fogli. Quindi le nostre pagine verrano riordinate con questa sequenza:

[20] [1] [2] [19] [18] [3] [4] [17] [16] [5] [6] [15] [14] [7] [8] [13] [12] [9] [10] [11] [40] [21] [22] [39] [38] [23] …

Naturalmente per aver senso il numero di pagine che compone un booklet deve essere un multiplo di 4.

Final.ps

fig3: Prima pagina del file final.ps

Una volta che le pagine sono state ordinate vogliamo metterene due su ogni facciata del foglio.

 psnup -2 bookletted.ps final.ps

A questo punto ritrasformiamo il file .ps in .pdf con:

 ps2pdf final.ps

Così abbiamo un file pdf pronto per essere stampato fronte retro senza ulteriori opzione.
Aggiungo ora un esempio che ho realizzato. Questo è il file di partenza : startFile.pdf e questo è il risultato: final.pdf.
Spettacolare :)

Per chi vuole approfondire consiglio di leggere la documentazione su scribus.net In particolare il seguente link

JinBlack

Defcon Quals 19

Dalle 21:00(UTC+2)  03/06/11 alle 3:00(UTC+2) del 6/06/11 si è svolta la gara di qualifiche per il DEFONC CTF 19.  E il nostro Team (Hanoiati) vi ha preso parte.

Ho tentato di fare una spece di diario della gara. All’inizio le annotazioni sono “frequenti” man mano che ci siamo addentrati nella gara ho iniziato a dimenticarmene.

[19:16] Stiamo facendo il setup. Venom00 tenta di convincere quelli di azzura a farci stare tutti su un canale. E qualcuno si sta per autopadulare servizio catering.
[20:45] Si è messo a piovere proprio mentre trasportavamo le cibarie dentro (Pi G). Mancano 15 min alla gara e le pizze stanno per arrivare. Dai Cazzo!
[20:59] Aspettiamo la scoreboard.
[21:34] Abbiamo divorato la pizza. La gente continua a trollare sul canale irc ddtek ma la gara ancora non è partita.
[21:38] E’ Arrivato il capitano.
[21:48] Pare che la gara sarà posticipata di 6 ore. Se è vero ci tocchera aspetare le 5 A.M per iniziare.
[22:12] Forse ci siamo! Sicuramente la storia delle 6 ore era un fake. Il topic del canale ci avvisa che è giunta l’ora.
[1:20]La b100 era una stronzata. Risolta. Era l’ultima delle stringhe… Siamo sulla b200 da un po’.
[3:23] Non stiamo facendo una mazza. Sta dannata challenge è un casino. Sono tutti bloccati.
[3:46]Hanno sbloccato la Forensic 100. Nessuno ha ancora risolto la B200. Pare che nella B200 venga mandato dal server contattato del exe un metaterpreter di metasploit.
[3:57]Abbiamo risolto la f100 siamo Primi!

 

Classifica verso le 3:00 AM della prima notte

[14:42] Siamo un po’ indietro. Abbiamo appena pranzato e siamo vicino alla soluzione della pp200
[16:17] Abbiamo scritto uno shellcode per la pp200 ma il loro server sembra down. Leggiamo da memoria ma non abbiamo idea di cosa andare a leggere. Ci buttiamo sulle env ma su solaris sembra che lo stack non sia dove dovrebbe.
[10:07] Sono passate 12h da quando, dopo aver risolto la pp200, sono tornato a casa a dormire. E’ tempo di sprint finale! Ci buttiamo sulla pp500.

La gara è stata bella. E abbiamo fatto bene (A mio parere il miglio piazzamento per quanto riguarda importanza/gara che abbiamo fatto fin ora.)

Classifica a 2h dalla fine

Mancavano 1 o 2 ore alla fine ed eravamo in top 15.  E’ stato un peccato  non riuscire a completare quella dannata pp500.

Aspettiamo la classifica finale, dovremmo rientrare nella top 20, e quasi sicuramente siamo nella top25.

Aggiornamento:

E’ uscita la classifica finale e la lista delle convocazioni. Il nostro team si è piazziato 23°.

17 | PlayTronics                                              |  3500
18 | TwoSixNine                                               |  3300
19 | III xor ICST                                             |  3300
20 | CHROOT                                                   |  3300
21 | clgt                                                     |  3200
22 | nocfed                                                   |  3100
23 | Hanoiati                                                 |  3100
24 | Song of Freedom with Guardian                            |  2800

 

Eclipse Ctrl+Space crash

eclipse helios loading

Eclipse Helios

Ho iniziato ad utilizzare Eclipse da qualche giorno. Il motivo principale è che ci è stato “ampiamente consigliato” al corso di Ing. del Software.

Il programma in se è davvero di ottima fattura, e include un sacco di accessori per accelerare la produttività. Ci sono strumenti per creare metodi standard(get,set,etc.) o per modificare il nome di una variabile contestualmente in tutto il Progetto.

Ma una cosa che ho trovato da subito estremamente utile è il completamento automatico: Mentre scrivi codice con la pressione di Ctrl+Space si apre un piccolo menù con i completamenti suggeriti, basta selezionare quale variabile/metodo/classe/etc. si aveva intenzione di scrivere ed è fatta.

Peccato che dopo gli ultimi aggiornamenti del mio sistema il fenomenale IDE si sia messo a fare brutti scherzi, il tanto adorato Ctrl+Space fa crashare il programma con probabilità 1.

Crash con Ctrl+Space

Dopo vari tentativi e prove di reinstallazione, di riconfigurazioni, ed innumerevoli altre robe, sono giunto alla conclusione che il problema è causato dall’ incompatibilita di  XULRunner con Eclipse.

Soluzione

Eclipse senza XULRunner sembra non crashare. Quindi una soluzione potrebbe essere quello di far credere all’ IDE in questione che il nostro sistema è sprovvisto di XULRunner.

A riguardo ho trovato questo articolo.

In cui viene chiaramente spiegato che basta aggiungere al file eclipse.ini (/usr/share/eclipse/eclipse.ini su ArchLinux)


-Dorg.eclipse.swt.browser.XULRunnerPath=/dev/null

E puf! Eclipse funziona possiamo usare Ctrl+Space e per il momento siamo felici. :D

JinBlack

 

OpenWrt on D-Link DSL-2740B ver C2 + FastWeb

Firmware FlashingD-Link DSL 2740B ver C2

Dopo quattro giorni di tentativi sono riuscito a compilare una versione funzionante di OpenWrt per D-Link-2740B ver C2

Potete scaricare qui il firmware:

Personalmente ho utilizzato il squashfs.

Fleshare questo firmware è stato più semplice del previsto:  basta andare nel menu Maintenance e nel sotto menu di update firmware del pannello di amministrazione del router.  A questo punto si seleziona come firmware uno di quelli scaricati qui su, si attende qualche minuto ed il gioco è fatto.

Modalità Recupero

Durante i miei esperimenti mi è capitato di non aver più alcun accesso al dispositivo. Per nostra fortuna esiste una Modalità di Recupero ed  attivarla è abbastanza semplice.

  • Spegniamo il dispositivo;
  • Tenendo premuto il tastino Reset del dispositivo riaccendiamolo;
  • Continuiamo a tenere premuto il tasto Reset fino a quando il led Power diventa Rosso;
  • Connettiamoci via cavo ethernet al dispositivo impostando i seguenti parametri: IP- 192.168.1.2 Netmask- 255.255.255.0 Gateway – 192.168.1.1;
  • Attraverso un Browser connettiamoci al gateway (192.168.1.1), ci apparirà una pagina molto basilare per l’uploading del Firmware;
  • Selezioniamo il Firmware che volete ripristinare e date l’OK;
  • Aspettiamo qualche minuto senza spegnere il router e se il firmware che abbiamo selezionato è buono il nostro dispositivo ritornerà a funzionare. ;

OpenWrt & Fastweb

Creare una NAT per bypassare il limite di Fastweb sulle 3 connessioni è questo il motivo principale che mi ha spinto a cambiare SO a questo router.

Anche questa operazione si è rivelata più semplice del previsto, grazie anche alla comoda interfaccia luci per OpenWrt.

  • Per prima cosa connettiamoci all’interfaccia grafica all’indirizzo http://192.168.1.1/cgi-bin/luci/
  • Andiamo nel menu Network e selezioniamo il sottomenu Interface
  • Creamo una nuova interfaccia che chiamiamo WAN che si basa su eth0
  • Selezioniamo il Protocollo DHCP e come DNS possiamo utilizzare quello di google(8.8.8.8)
  • Come Firewall Zone selezioniamo WAN.
  • Dal sottomo menu Wifi abilitiamo la rete Wireless sull’interfaccia lan.
  • Vi consiglio di abilitare la Crittografia WPA2-PSK (Se dovete connettere qualche PC con Wizzoz XP usate la Mixed Mode) e di immettere una password bella lunga.

Ora possiamo connettere quanti dispositivi vogliamo alla nostra rete Wireless.

Mi sento di dare un ultimo consiglio: Disabilitate la rete WiFi Fastweb dalla MyFastPage (Sezione Gestione Abbonamento) o se proprio non volete spegnere la rete almeno cambiate la password di default.

A Presto

JinBlack

WordPress e i Permalink: mod_rewrite

Apache LogoCon il nuovo Server a disposizione ho deciso di trasferire il mio blog. Installando wordpress su una mia macchina spero di avereun migliore controllo della situazione, e magari di imparare meglio ad usare questo spettacolare CMS.

Configurando il mio blog mi sono imbattuto in un problema relativo a i permalink.

Per chi non sapessa cosa è un permalink cito Wikipedia:

(contrazione della frase inglese “permanent link”) è un tipo di URL che si riferisce ad una specifica informazione, implementato in modo da non cambiare o almeno da rimanere lo stesso per lunghi periodi di tempo. Il termine è spesso impiegato nell’ambito dei blog per indicare il link ad un determinato post.

WordPress per il funzionamento di questo sistema sfrutta un modulo del serve Apache chiamato mod_rewrite che permette riscrutture dell’URL tramite espressioni regolari.

Abilitare il suddetto modulo su debian è abbastanza semplice.

Come procedere:

Visto che ci interessa caricare il modulo mod_rewrite è giusto prima localizzare il file per fare ciò possiamo lanciare

locate mod_rewrite

E dovremmo ottenere una lista di percorsi. Ciò che interessa noi è il file di libreria .so
Per esempio /usr/lib/apache2/modules/mod_rewrite.so
Se state utilizzando anche voi una Debian lenny molto probabilmente il percordo sarà uguale al mio, altrimenti potrebbe variare un po’.

Nella cartella/etc/apache2/mods-enabled troviamo una serie di file .load. Questi vengono eseguiti dal server apache all’avvio.

Creamo un nuovo file dentro la cartella mods-enabled e chiamiamolo rewrite.load.

Inseriamo quindi dentro la seguente stringa:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

A questo punto modifichiamo il file /etc/apache2/sites-available/000-default

Sostituendo a:

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

quanto segue:

Options -Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

Salviamo e riavviamo il server apache con:

/etc/init.d/apache2 restart

wpakgen 0.1 beta

wpakgen-0.1b

Ho realizzato un piccolo programmino che effettua il crack istantaneo delle wpa includendo entrambi gli algoritmi:

 

ScreenShoot v 0.1b

 

Il programma fa un auto scanning (utilizzando iwlist) delle reti presenti e ne calcola immediatamente la chiave. In questa versione il database dei seriali Alice non è completo e contiene solo 9 serie, in futuro cercherò di aggiungere le altre serie conosciute.

Il programma è in beta testing se qualcuno riscontra qualche problema me lo comunichi ;)

Inoltre vi vorrei ricordare che l’accesso abusivo ad un sistema informatico o telematico è un reato perseguibile a termine di legge (art. 615-ter c.p.). Inoltre ricordo che la detenzione e la diffusione abusiva di codici di accesso a sistemi informatici o telematici è un reato penale perseguibile secondo la legge 615-quater c.p.

Pertanto l’utilizzo di quanto esposto è da riferirsi a un test di sicurezza sulla propria rete o su una rete la quale il proprietario abbia espressamente dato il libero consenso al fine di giudicarne la sicurezza e porre rimedio ad eventuali vulnerabilità.

L’ Autore di questo Blog non potrà essere ritenuto responsabile di eventuali violazioni derivanti da un uso proprio o improprio del materiale esposto in questo articolo aventi uno scopo prettamente informativo e didattico.

Confido nelle vostre buoni intenzioni.

JinBlack

P.S.

Non è più possibile scaricare alcuna versione di wpakgen.

iBackup 0.1b: iPhone Backuper per Linux

Ho il piacere di presentare iBackup, un piccolo tool per eseguire backup dell’iphone su Linux.

Uno screenshot

E’ scritto in python e possiede un interfaccia basata sulle gtk.

Il programma esegue il backup di quattro applicazioni base (Rubrica, SMS, Note, Mail) nella cartella indicata.

Il tutto avviene tramite protocollo sftp, quindi bisogna avere openssh sul proprio iPhone Jailbroken.

Potete scaricare la versione 0.1b che è disponibile su sourceforge.net.

Ho testato personalmente iBackup per un po’, ma come ogni software è difficile che sia esente da bug, quindi sarei felice se chi trovasse qualche malfunzionamento del programma me lo segnalasse all’indirizzo jinblack17[at]gmail[dot]com o qui sul blog.

“Use an OS that work, Use Linux” cit. D-AL

JinBlack.

Attacco alle Poste

Sabato nero per le Poste Italiane, infatti questo pomeriggio il portale che è stato eletto Miglior Service Provider dell’anno è stato hackato.
Image Hosted by ImageShack.us

Mr.Hipo e StutM, i rivendicatori dell’accaduto, affermano:
Image Hosted by ImageShack.us

Dal tono e da quanto affermano gli Attaccanti, gli utenti non dovrebbero temere nulla, affermano sia solo una dimostrazione di come sistemi che sembrano molto sicuri in realtà siano vulnerabili.

Da quello che si riesce a vedere sembra che gli Attacker siano riusciti a defacciare l’home page del sito, ma non possiamo sapere, senza che sia Poste Italiane stesse a confermarlo, se questi individui siano davvero riusciti ad accedere ai database, o ad interferire con le transizioni.

Resta comunque la pessima figura da parte di Poste Italiane, e la attesa di una dichiarazione che puntualizzi il reale pericolo che i dati degli utenti hanno corso.

Al Prossimo Articolo

JinBlack

Fonera 2.0 + D-Link DLS-320B + Tiscali

Era un umido mercoledì quando entrato nella mia nuova casa, iniziai a configurare La Fonera. Ero fiducioso nelle tecnologie di autoconfigurazione e  impaziente di navigare. Ma la mia fiducia venne ben presto tradita.

Quella dannata spia Power non voleva diventare verde per nessuna ragione.

La mia Fonera otteneva la configurazione degli indirizzi in DHCP mentre il modem si preoccupava di dare le credeziali al provider e stabilire quindi la connessione.

In realtà il problema stava proprio nell’assegnamento DHCP (che a quanto pare nei modem D-Link ha qualche problema con diversi sistemi) ,  inutili tentativi di utilizzare ip statici di vario genere, con instradamenti particolari e quant altro.

La soluzione tanto semplice quanto efficace era quella di lasciare alla fonera il compito di identificarsi con il Provider. Sembrava semplice come suggeriva tiscali bastava creare una connessione PPPoA e dare le proprie credenziali.

Eccolo il problema, La Fonera non supportava il PPPoA ma solo il PPPoE e quindi non si poteva fare o forse si?

Eccola la mia configurazione funzionante:

- Modem: Bridge mode (VC-Mux)

- Fonera: PPPoE (con vostri username e pass)

e già, mi sto chiedendo ancora adesso la reale differenza tra PPPoE e PPPoA, la prima e acronimo di Point-to-Point Protocol over Ethernet la seconda Point-to-Point Protocol over ATM.

Possibile che l’unica differenza sia il tipo di ingresso (RJ11 vs RJ45) o Tiscali supporta anche il PPPoE, o ancora e il modem che fa qualche sorta di traduzione?

Comunque ora riesco a navigare tramite la Fonera senza problemi, primo o poi approfondiro questi dubbi sui tipi di connessione ADSL.

Saluti JinBlack

Facebook Chat su FireFox GranParadiso e altre versioni…

Torno a scrivere dopo un pò di giorni di un piccolo fastidioso problema che si ha con facebook se si utilizzano versioni non prettamente ufficiali di FireFox, in particolare io utilizzo Gran Paradiso(versione alpha di FireFox) che è la versione integrata in ArchLinux.

Il problema sta nel fatto che Facebook non riconosce questo browser come firefox e quindi non abilità la chat dinamica nella barra in basso.

Possiamo sviare questo cambiando una piccola informazione nel nostro browser.

Vediamo dunque come fare:

- Inseriamo about:config nella barra dell’indirizzo e promettiamo a firefox di essere attenti!!! XD

- Modifichiamo il campo general.useragent.extra.firefox inserendo come valore Firefox/3.5

Ora torniamo su facebook è la chat dovrebbe funzionare senza problemi…

Fonti:

ArchLinux Forum

A presto

JinBlack