Yet Another Useless Geek Place


css e firefox… mo ci divertiamo

Pubblicato su Linux, browser, firefox, sviluppo di ciko sul 23.Giugno.2007

premetto: adoro firefox.

mi piace da quando si chiamava phoenix, che poi e’ diventato firebird per motivi di copyright del nome della Phoenix Foundation[1] (mai mettersi contro Mac Gyver…).

che poi e’ diventato Firefox per via del Database open source Firebird (derivato da Interbase), che pur non detenendo diritti sul nome era gia’ in giro da diversi anni (in effetti chiamarlo firebird fu una scelta abbastanza infelice) .

Che poi e’ diventato… ah no, si chiama ancora Firefox (hanno avuto la decenza di registrarlo sto nome, cosi’ evitano di cambiarlo ancora, o fanno causa a chi lo usa in modo improprio (?!?)) ..

 

Ma digressioni a parte, c’e’ una cosa che ho sempre detestato in questo mitico browser: i controlli predefiniti, ovvero i pulsanti, caselle di riepilogo e di testo che vengono visualizzate nelle pagine web che non hanno un foglio di stile che li definisca. Odio QUESTO:

firefox_default_controls

Oggi dopo tanto tempo mi sono messo a cercare un rimedio, che si e’ rivelato molto piu’ semplice del previsto:

Firefox dispone di un foglio di stile predefinito, posto in “/usr/lib/firefox/res/forms.css” (nella mia Kubuntu).

aggiornamento: in windows si trova in <$PROGRAMMI>/Mozilla Firefox/res/forms.css

Basta modificare quello e…

MAGIA

firefox_modified_controls

 

tutto diventa piu’ gradevole… (a mio avviso)

wordpress non mi consente di uploadare il mio file modificato e non ho voglia (adesso, domani chissa’) di spulciare per metterlo su qualche server esterno, comunque il codice che ho aggiornato in quel file e’:

 

input {
-moz-appearance: textfield;
/* The sum of border-top, border-bottom, padding-top, padding-bottom
must be the same here, for buttons, and for <select> (including its
internal padding magic) */
padding: 1px 0 1px 0;
border: 2px inset ThreeDFace;
background-color: -moz-Field;
color: -moz-FieldText;
font: -moz-field;
line-height: normal !important;
text-align: start;
text-transform: none;
word-spacing: normal;
letter-spacing: normal;
cursor: text;
-moz-binding: url("chrome://global/content/platformHTMLBindings.xml#inputFields");
text-indent: 0;
-moz-user-select: text;
border-top: solid;
border-left: solid;
border-bottom:solid;
border-right:solid;
border-color: #3F4B50;
border-width: 1px;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 2px;
margin-right: 2px;
}

e questo


button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
-moz-appearance: button;
/* The sum of border-top, border-bottom, padding-top, padding-bottom
must be the same here, for text inputs, and for <select>. For
buttons, make sure to include the -moz-focus-inner border/padding. */
padding: 0px 6px 0px 6px;
border: 2px outset ButtonFace;
background-color: ButtonFace;
color: ButtonText;
font: -moz-button;
line-height: normal !important;
white-space: pre;
cursor: default;
-moz-box-sizing: border-box;
-moz-user-select: none;
-moz-binding: none;
text-align: center;
border-top: solid;
border-left: solid;
border-bottom:solid;
border-right:solid;
border-color: #3F4B50;
border-width: 1px;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 2px;
margin-right: 2px;
}

Ovviamente e’ il prodotto di tre minuti di sviluppo, sicuramente molti di voi sapranno fare di meglio…

happy coding…

[1] in realta’ era la Phoenix Technologies

guerra aperta a Google Earth: MARBLE

Pubblicato su kde, the road to kde 4 di ciko sul 18.Giugno.2007

spulciando tra gli ultimi commit di kde 4 mi sono imbattuto in un programmino di cui non si parla molto, ma che integrato nel sistema secondo me ha un potenziale da non sottovalutare: Marble.

Dalle proposte sembra che utilizzera’ una cache minima (approssimativamente 5M) da usare offline, e fornira’ un’API per lo sviluppo di terze parti. NON utilizzera’ per il momento(in seguito si) le OpenGL per il rendering, e avra’ l’oramai standard “aspetto mappamondo virtuale” alla GoogleEarth e WorldWind.

Non ne so di piu’ in quando non trovo altre info in giro per la rete (non e’ che mi ci sia dedicato piu’ di tanto comunque ;) ).

per provarlo scaricalo qui

…e poi dimmi se funziona!!! :P

ah… dovrebbe supportare i kml e kmz di GoogleEarth (leggi qui)

Safari: meglio quelli in Africa…

Pubblicato su apple, browser, safari di ciko sul 14.Giugno.2007

Ieri ho letto dell’uscita in pompa magna di Safari, il mitico browser “made in Cupertino” (basato su khtml di kde), al suo sbarco sulla piattaforma “ostile” Windows…

Ovviamente ho voluto provarlo ad ogni costo…

Risultato della prova on the road?

INSUFFICIENTE

e procedo motivando il voto:

  • Proxy: rileva il proxy e mi richiede user e password; dopo l’immissione crasha miseramente.
  • Bookmarks: se si prova a salvare o ad accedere ai segnalibri crasha miseramente.
  • Interfaccia: i bottoni e i pannelli di configurazione sono in “stile Mac, assolutamente alieni al sistema che li ospita (ma questo era prevedibile, visti QuickTime e iTunes).
  • Aggiornamento automatico: applicazione standalone (mentre si potevano usare benissimo quelli di windows – come fa Flash). Ad ogni aggiornamento ti preseleziona l’installazione di QuickTime e iTunes.
  • Rendering delle pagine (le poche locali che ho potuto provare): sembra essere effettivamente rapido, ma non lo considererei un pregio di Safari, quanto di WebKit.

se a tutto questo aggiungiamo che in meno di due giorni sono state scoperte 18 vulnerabilita’, beh… vedete un po’ voi…

FireFox Extension: ScreenGrab!!!!

Pubblicato su browser, firefox di ciko sul 7.Giugno.2007

ho appena scoperto un’estensione per firefox molto utile per lo sviluppatore web, ma anche chi ha un blog e vuol fare qualche screenshot delle pagine da segnalare: SCREENGRAB.

screengrab

Appena installata si piazza nella barra inferiore di Firefox e al click presenta un menu per salvare negli appunti o su disco o la pagina web che si sta visitando in una delle tre modalita’:

  • completa (salva tutta la pagina)
  • visibile (salva solo la parte visibile attualmente)
  • selezione (la pagina si oscura e ci permette di selezionare un’area di ritaglio da copiare)

In parole povere consente di salvare velocemente una pagina web per poterla utilizzare come meglio di vuole in un formato piu’ “trasportabile” (io l’ho usata per inviare ad un mio amico la visualizzazione in firefox di un suo sito…).

KDE… e io godo…

Pubblicato su Linux, kde di ciko sul 6.Giugno.2007

Procede a ritmo serrato “The Road to KDE4″…

so bene di non essere in linea con quanti si definiscono guru di linux, ma

superkaramba docet

mi sembra proceda meglio della sua controparte “Spartana ed efficace” come qualcuno la definisce: GNOME…

ma il vero punto non e’ questo… auguro ogni bene al progetto e al team di gnome, solo che sapete come si dice: “de gustibus non disputandum est“, quindi torniamo alle mie ruote dentate preferite :)

vedo i progressi del DE open source e mi sembra molto in linea con quanto ho sempre desiderato dal mio pc: grafica gradevole (oxygen), piccoli widget perfettamente integrati con l’ambiente e di facile sviluppo(plasma), configurazione condivisa delle risorse hardware(solid) e un ambiente scattante grazie ad una accelerazione harware basata su OpenGL e una ricerca rapida ed efficace che trova davvero quello che cerchi (ed in tempi decenti – Strigi).

Il potenziale e’ veramente infinito: tempo fa vidi un filmato (basato su compiz + kde + dbus) in cui per notificare un messaggio in arrivo in kopete era stato sostituito al classico suono un messaggio DBUS che creava un’onda d’acqua (avete presente quelle della pioggia?) che partiva dall’icona del programma del pannello… molto bello ed effettivamente usabile (non come il wobbly di compiz…).
Se volete sapere le date “precise” guardate qui.

chissa’… magari lo installero’ anche su windows

che dire… forse ottobre diverra’ il mio mese preferito ;)

Hostswitcher langue, e io uso smarty….

Pubblicato su php, sviluppo di ciko sul 5.Giugno.2007

Aspettando di riuscire a creare il progetto su sourceforge (devo provare da casa, qui al lavoro sti ‘azzo di firewall non mi fanno uscire con svn – magari poi faccio anche un mini tutorial…), mi sto un po’ dedicando allo sviluppo in php/mysql.

Mi ha sempre colpito l’immediatezza e la facilita’ con cui si programma in php: pochi costrutti semplici, classi ben fatte e che risolvono i problemi velocemente, velocita’ di esecuzione. L’ho sempre trovato scomodo pero’ per sviluppare progetti un po’ “ampi” con molte pagine e una separazione dei ruoli tra chi sviluppa e chi disegna le pagine: “richiede troppo sforzo la sincronizzazione tra i membri”, mi dicevo.

Adesso (magari da un po’, ma io l’ho scoperto adesso :) ) questo non e’ piu’ un problema, visto che c’e’ SMARTY!!!

Smarty e’ un template engine open source (http://smarty.php.net/ e http://it.wikipedia.org/wiki/Smarty) che consente veramente con poco sforzo di separare la parte di presentazione (grafica) da quella di controllo (programmazione, accesso al db)…

Con smarty e’ possibile concentrarsi sull’aspetto funzionale (per me che sono uno sviluppatore) e lasciare che i grafici facciano il loro lavoro (non li sopporto i css :P ).
Come funziona? semplicissimo: basta includere il file con la classe di smarty con

require 'smarty/Smarty.class.php';

instanziarla

$smarty = new Smarty;

assegnare le variabili

$smarty->assign("news", "Risolto il bug #1: Ubuntiani in festa");

e poi richiamare il template

$smarty->display('home.tpl');

Smarty provvedera’ a caricarsi il file, effettuare la sostituzione delle variabili e proporlo all’utente che naviga. Adesso tutto cio’ che resta da fare e’ riuscire a far comprendere ad un webdesigner che al posto del testo “placeholder” deve mettere il tag di smarty

{$news}

…ce la possiamo fare? :)

Spulciando la documentazione possiamo scoprire tante altre cosette interessanti, come il fatto che i delimitatori per le variabili possono essere personalizzati e i template compilati per non degradare le prestazioni. Ma qui non si vuole sostituire l’ottima documentazione reperibile qui in versione italiana

- Come nota in calce voglio aggiungere che rispetto il lavoro dei grafici e dei webdesigner, l’avene parlato come di persone stupide e’ solo a titolo goliardico ;)