How to: poor man syntax highlight for OOo Impress

Quando compilo delle slide, capita spesso che mi occorra inserire del codice (JavaScript, PHP, Python, whatever…) all’interno di esse. Non ho mai capito come fare ad avere quel codice con il syntax highlight. Finora nutrivo una certa invidia per chi riusciva a farlo - probabilmente esiste un sistema di qualche tipo da usare con Keynote. Oggi ho trovato una soluzione veloce per poterlo fare anche con Open Office Impress, il sistema che utilizzo.

Si tratta di una soluzione “aguzza l’ingegno”, niente di spaziale eh. Se qualcuno conosce un sistema migliore, me lo faccia sapere :) (no, l’estensione OOocoder non mi sembra funzionare).

Strumenti:

Come fare:

  1. Si scrive il codice con il nostro editor preferito. Lo si copia.
  2. Lo si incolla su Pastie.org e si sceglie il linguaggio e si preme “Paste”
  3. premi qualche volta ctrl++ per aumentare la grandezza del font, se necessario
  4. Tasto sinistro sulla iconcina di Screengrab in basso a dx di Firefox. Si sceglie “Copy… -> Selection” (la finestra di Firefox diventa rossastra). Si seleziona la parte con il codice colorato. Rilasciando il tasto del mouse, l’immagine è automaticamente copiata
  5. Si va in Impress e si fa ctrl-v

Fine :)

Comments (View)

Web utonzia

Un collega che cura alcuni siti di commercio elettronico nel settore Alta Moda, mi ha raccontato un paio di aneddoti interessanti. Meditate gente, meditate.

  1. Lancio di un nuovo sito. Un paio di giorni dopo il cliente telefona perché “ci sono problemi”. Sta ricevendo centinaia di telefonate (sono sempre almeno un centinaio) perché le persone non riescono a registrarsi sul sito. Nella form di registrazione, al momento di inserire “Nome utente” e “Password” non sanno quale inserire…
  2. Altro sito. Viene spedita una newsletter a circa 16000 clienti del Cliente per pubblicizzarne l’apertura. Il giorno dopo il cliente telefona al mio collega perché il sito “non funziona! sta ricevendo centinaia di telefonate!! con questo problema!!!”. Il sito invece funziona benissimo. Il problema, se vogliamo chiamarlo tale, era che la newsletter era stata mandata in formato testo, non in HTML. Il link al sito, dunque, non funzionava se cliccato (a meno di non avere un client furbo). “Se clicco non funziona, allora telefono e mi lamento”.

Darwin, aiutaci tu.

Comments (View)

Best quotes from House S05E01

Mi sono piaciute un sacco, e le voglio condividere :)

  • Almost dying changes nothing. Dying changes everything. [House]
  • I would rather spend my life close to the birds than waste it wishing I had wings [paziente].
  • People get what they get. It has nothing to do with what they deserve. [House]
Comments (View)

PHP ip2long() madness

Capita abbastanza spesso di dover salvare un indirizzo IP in una tabella di database. La teoria e la pratica insegnano quanto sia meglio salvare non la string CHAR(15) dell’IP, ma la sua rappresentazione numerica (si salva spazio, le ricerche sono più pratiche, gli indici velocissimi).

Si dà il caso, poi, che sia MySQL che PHP abbiano delle funzioncine proprio adatte allo scopo. Rispettivamente INET_NTOA, INET_ATON e long2ip() e ip2long(). PostgreSQL ha addirittura un tipo di dato specifico, se non erro.

Il problema è che nei sistemi a 32bit la funzione PHP ip2long() ritorna un intero SIGNED, spesso negativo, mentre nei sistemi a 64bit torna sempre un UNSIGNED.

Se di questa cosa non te ne accorgi, avrai fatto la colonna della tua tabella come normale INTEGER (dunque SIGNED) e tutti i tuoi test funzioneranno alla grande.

Poi passi in produzione a 64bit e la tabella si riempirà di valori molto vicini a 2^31 (ovvero 127.255.255.255).

Soluzione: il campo della tabella lo devi fare INT(11) UNSIGNED e in tabella dovrai sempre scrivere il valore UNSIGNED; per fare questo, un sistema è usare qualcosa come $ip = sprintf(‘%u’,ip2long($ip)) o qualcos’altro di più veloce con l’operatore shift (mai programmato videogiochi, mai preso confidenza con ‘ste robe arcane);

Nota numero uno: INTEGER UNSIGNED e basta mi pare crei un INT(10), non sufficiente. Meglio specificare INTEGER(11) UNSIGNED.

Nota numero due: usare BIGINT non è consigliabile, perché le INET_* non funzionano con quel tipo di dato.

Comments (View)

Passato e Futuro, la sindrome da ctrl+s

Solo recentemente mi sono reso conto - nel senso di prendere coscienza di un fatto che è sempre esistito - di una mia caratteristica. Non ho mai avuto veramente bisogno di una “agenda” per gli impegni futuri in quanto non ho mai avuto difficoltà a ricordarmi cose da fare anche in un futuro discretamente lontano (mesi). Il dentista mi dà appuntamento tra un mese alle 9 e io posso benissimo non appuntarlo da nessuna parte. Al contrario, quello che ho fatto finisce direttamente nel dimenticatoio.

Per questo motivo la mia agenda, da parecchi mesi, non è basata sul COSE DA FARE, ma sulle COSE FATTE. E’ anche più facile da gestire, sempre che la aggiorni al più tardi la mattina del giorno dopo. E’ tenuta anche in maniera rigorosamente analogica: carta e penna :)

Ora sto cercando di capire se questa “caratteristica” non potrebbe essere la malata derivazione del lavoro che faccio. Programmare, risolvere mentalmente tanti piccoli problemi ogni giorno, tenere a mente per molti secondi invece che per pochi attimi quello che deve essere fatto successivamente (compresi dettagli) potrebbe aver  influito in questa “forma mentis”.

La potrei chiamare “sindrome da ctrl+s”. Una volta che hai salvato, inconsciamente sai di non doverti pià preoccupare di quello che hai scritto, che tanto sai che puoi sempre ritrovarlo più tardi.

Comments (View)

La orrida BMW X6

Ne sono rimasto così inorridito che ho deciso di scriverne due righe. Ieri ho visto questa macchina ferma ad un semaforo e, vi giuro, è più orribile e sbagliata di un Hummer (che, lo ammetto, può piacere) e di un Cayenne (niente scuse, è un cesso e chi la guida un cretino/a). In foto son bravi a farla sembrare aggressiva, cattiva e sexy, mentre nella realtà è un COSO pretenzioso, enorme, irragionevolmente inutile e (davvero) BRUTTO.

Comments (View)

Grazie, agenzia delle entrate (nel culo)

Qualche giorno fa mi è arrivata la letterina dell’AdE dove mi si chiede gentilmente di dimostrare che non sono un ladro e che effettivamente io avessi diritto, nel 2005, a quella cinquantina di euro di detrazione.

Ho sentito racconti raccapriccianti, sull’AdE di bologna: file lunghissime, impiegati odiosi, perdite di tempo assicurate.

Parlo con il commercialista e lui mi dice “No no no! Tranquillo! Ci pensiamo noi, facciamo tutto noi”. Non ci volevo credere, ma se me lo dice lui…

Stamani la doccia fredda: no, il commercialista non può fare nulla perché io sono OBBLIGATO ad andare nell’agenzia XYZ qui a Bologna. Perfetto. Come lo chiamavano? egovernment. Ma vaffanculo, vai.

Comments (View)

La bufala ICI

Vivo in affito in una città, ma possiedo parte della casa dei genitori. Non essendo dunque la prima casa, ci pago l’ICI. L’amico Calderoli adesso, secondo il piano di federalismo fiscale a cui tanto tiene, darà la possibilità a regioni e comuni di CREARE nuove tasse anche per rientrare delle perdite, appunto, dell’ICI.

Immagino penseranno a chi è nella mia situazione, no? No? No eh?

Comments (View)
Quella che vedete qui è la scansione di una pagina che mi è arrivata dall’Agenzia delle Entrate insieme al cortese invito di dimostrare alcune mie detrazioni.
Potrei fissare un appuntamento ONLINE (wow!) con la persona addetta alla mia pratica specificando chi questo sia. Ma non lo posso mica fare tramite un campo della form “Addetto alla pratica”. No, devo scrivere il suo nome ACCANTO al mio.
Non ho parole (solo parolacce).

Quella che vedete qui è la scansione di una pagina che mi è arrivata dall’Agenzia delle Entrate insieme al cortese invito di dimostrare alcune mie detrazioni.

Potrei fissare un appuntamento ONLINE (wow!) con la persona addetta alla mia pratica specificando chi questo sia. Ma non lo posso mica fare tramite un campo della form “Addetto alla pratica”. No, devo scrivere il suo nome ACCANTO al mio.

Non ho parole (solo parolacce).


Comments (View)

Prenotare una prestazione medica a Bologna

Devo ammettere che queste cose iniziano a divertirmi. E’ un po’ come vivere nel paese dei Puffi… almeno finché non son problemi gravi.

Devo fare una visita fisiatrica, causa dolore ad una spalla e ad un piede. Prima di tutto si va dal medico di base e ci si fa fare l’impegnativa. Facile ed indolore, senza neanche un minuto di fila.

Step successivo: andare in un punto CUP ed effettuare la prenotazione per la visita vera e propria (mi chiedo perché non la possa fare direttamente il medico di base, ma soprassediamo).

Nella prima farmacia abilitata che trovo (facile, visto che è quella subito sotto l’ambulatorio del medico di base) mi viene detto che fino al 31 agosto, le prenotazioni si fanno solo di mattina. Boh, chissà perché.

Stamani (il domattina di cui sopra), ritorno nella stessa farmacia e LA STESSA PERSONA DI IERI mi dice “mi spiace, non posso farle la prenotazione. Sa, la persona che ha la password è in ferie fino a lunedì”. A parte che me lo potevi dire ieri, ma visto che siete IN TRE non potevate girarvi le consegne? Boh, chissà perché.

Mi viene in mente che FORSE la prenotazione si può fare direttamente ONLINE. Ci provo, anche se un TANTINO premunito. Posso vedere tra quanto potrei passare la visita e anche dove, ma NON POSSO PRENOTARLA. Boh, chissà perché.

Sul sito c’è però un succoso elenco di farmacie abilitate alla prenotazione: lo scarico (è un PDF…) e vedo che ce n’è un’altra vicina. Gambe in spalla, ci vado e con un sorriso chiedo… risposta: “No, guardi, questa farmacia non è abilitata”. Faccio presente che sul sito loro sembravano abilitati eccome, ma non sembra che questo li sconvolga troppo. Chiedo se in zona c’è un’altra farmacia abilitata. “Boh, provi lì, là o FORSE laggiù. Non so”. In effetti avere sottomano un elenco delle farmacie abilitate alla prenotazione è difficile. Boh, chissà perché.

Non mi do ancora per vinto e decido di passare direttamente dal centro della galassia CUP, ovvero nell’ufficio dove si fanno solo le prenotazioni (non ricordo come si chiami, ma ci ho sempre visto code fin dalle 7 di mattina).

E’ una bolgia… decine di persone sedute in attesa… alcune che con un foglio in mano ed una penna chiedono cose ad altri… i muri sono letteralmente tappezzati di fogliacci stampati con su scritte le cose più disparate. Uno in particolare mi colpisce: “SI FA PRESENTE CHE GLI OPERATORI HANNO DIRITTO A 15 MINUTI DI PAUSA OGNI DUE ORE DI LAVORO”.

Saluto virtualmente tutti sorridendo e lunedì riproverò nella prima farmacia.

Comments (View)