6.4.07

Getting Real

Subitissimo il link :

Le riflessioni sono lunghe da venire. Ho sfogliato velocemente le 63 pagine A4 che costituiscono questo libro in circa 5 minuti, trovando spunti interessanti in ogni paragrafo in cui mi soffermavo. Però per darne un mio modesto giudizio complessivo, o anche solo per paragonarlo alla mia esperienza, mi obbligo a leggerlo tutto e con calma.

4.4.07

Migliorare la propria produttività in PHP

Ovvero arrivare all'obbiettivo piu velocemente, con meno errori e con meno mal di testa.

L'argomento è gia stato trattato in altri post. Un buon punto di partenza è un framework, ovvero un insieme di classi, funzioni e moduli che si occupino delle operazioni piu ripetitive e che siano sufficentemente "astratti" da essere riutilizzabili in tutti i progetti. Vedi il post sull'argomento.

Un altro metodo per velocizzare è utilizzare una interfaccia di sviluppo adeguata. E il blocco note (per i MS-Fanboys) o vim (per i linuxari) non rientrano in questa definizione.

Un buon ambiente di sviluppo deve :

  • essere in grado di farti muovere agilmente anche in progetti costituiti da centinaia di files
  • avere una guida pronta e interattiva perche capita a tutti di dimenticarsi il funzionamento di una struttura
  • evidenziare il codice in modo da renderlo piu facile da interpretare
  • supportare la sincronizzazione col server (cvs, ftp, condivisione locale)
  • rendere inutile l'utilizzo di phpmyadmin, fornendo la possibilita di navigare il database oltre che i file
  • conoscere l'intero progetto, suggerendo variabili e classi create dal programmatore, non solo quelle proprie di php
  • essere veloce: il tempo si usa per scrivere codice non per aspettare che il programma carichi
Un sogno ? Forse ... io sono ancora alla ricerca. Alcune di queste cose le fa il classico Adobe Dreamweaver, altre le ho trovate in PHP Designer 2007

Se conoscete un ambiente di sviluppo che abbia tutto questo suggeritemelo. Io, intanto, continuo a cercare.

28.3.07

Usare il filtro opacity in Internet Explorer

Ho pubblicato un esempio pratico del suo utilizzo in precedenza. Mi sono dimenticato di specificare che perche funzioni il filtro opacity in internet explorer è necessario che il layer abbia settatto esplicitamente l'altezza e la larghezza. Negli altri browser invece questo funziona indipendentemente dal settaggio di altezza e larghezza.

La trasparenza puo essere settata direttamente anche attraverso un foglio di stile, senza disturbare javascript, in questo modo :

.opaco {
opacity: .4;
filter: alpha(opacity=40);
}
In questo esempio la trasparenza sarà al 40%, ed ovviamente stabile.

22.3.07

Condivisioni tra pc windows XP

Le condivisioni vanno e vengono. Si sembra ridicolo ma il protocollo di autorizzazione che si usa per decidere se un client puo accedere alle condivisioni di un altro client è lacunoso e buggoso.

Piazzare un controllore di dominio in una lan è la soluzione migliore per evitare grattacapi. Anche emulato con linux e samba.

Ma se proprio non si puo,o per limiti di spesa, o per cocciutaggine del cliente, o per urgenza si possono fare le seguenti cose :

  1. assicurarsi che nei computer ci siano tutti gli account in uso. Esempio:
    Computer A - Utente Pippo
    Computer B - Utente Pluto
    Computer C - Utente Topolino
    Nei computer A, B e C si deve poter loggare come Pippo, Pluto e Topolino
  2. assicurarsi che tutti i computer siano nello stesso workgroup
  3. come soluzione estrema, abilitare l'utente guest. Ma solo se si è protetti dalla rete esterna con un buon firewall e su tutti i computer è presente un antivirus aggiornato e funzionante
  4. disabilitare il dhcp, settare gli indirizzi ip dei pc manualmente e inserire nel file HOST ( %windir%\system32\driver\etc ) gli indirizzi ip dei pc seguiti dal nome.
  5. Cambiare il workgroup a tutti i pc
Se usate altri trucchetti commetate. Terrò aggiornata la lista.

21.3.07

Chipset SIS

Le schede madri con questo chipset ... evitatele. Fanno schifo.

Io non capisco come degli assemblatori di pc professionisti (io lo faccio solo per hobby) continuino a propinare soluzioni basate su questi chipset. Hanno sempre dato problemi e passano gli anni e continuano a far vomitare.

19.3.07

Sperimentando con Ajax

Ho provato un pò di framework e qualche risulato molto gradevole e di facile migrazione da codice esistente l'ho ottenuto tramite questo

A dire il vero non si tratta proprio di AJAX in quanto manca la X, non si usa infatti l'xml ma direttamente l'html.

18.3.07

KML e Google Earth

I mashup di google maps spopolano, ma manca ancora un supporto diretto a livello di API per i file KML.

Che però possono essere caricati da google maps mettendoli come paramentro di ricerca. Esempio

Credo che dovro traformare i kml in linee e poi sovrapporle...

Maggiori informazioni

15.3.07

Ancora un router fon in regalo per voi

Il precedente router regalato è stato attivato, quindi ora ne posso regalare un altro.

Naturalmente chi partecipa al concorsino deve impegnarsi, nel caso vincesse, ad attivare il suo regalino subito in modo che mi sia possibile regalarne un terzo e cosi via.

Questa volta è piu difficile. Dovete rispondere a questa domanda:

"Dove ha imparato il C un vero programmatore ?"

il primo che risponde giusto, vince il router. Google vi puo aiutare ;)

22.2.07

Charset

Gestire correttamente il charset per lo scambio di dati tra client, server web e server dati è molto importante.

Per siti solo in italiano, o al massimo in lingue europee il discorso è semplice. Basta settare in ogni componente del processo il charset corretto.

PHP : header('Content-Type: text/html; charset=iso-8859-15');
HTML: <meta equiv="Content-Type" content="text/html; charset=iso-8859-15">
MySQL: Collation latin1_swedish_ci

Il Charset iso-8859-15 gestisce correttamente tutte le lingue europee e include il simbolo dell'euro. Per esigenze piu complesse si puo usare l' UTF-8, ma raramente è necessario.

In teoria il webserver dovrebbe aggiungere gia tra gli header che invia di sua iniziativa il charset ma questo potrebbe essere differente da quello impostato in mysql o adirittura non essere settato (lasciando al browser il compito di capire quale charset meglio si adatti al contenuto che deve visualizzare) perciò specificarlo in modo esplicito è un ottima abitudine

18.2.07

Posta Aziendale - Possibili soluzioni -

Possibili soluzioni:

  • Server privato interno: La soluzione piu versatile e, ovviamente, piu costosa. Sia per via dell'hardware, che del personale che gli deve costantemente fare manutenzione. Inutile illudersi di installarlo e lasciarlo li. Non va. Soppratutto per via dello spamming. Si evolve ad una tale velocità che gli antispam vanno addestrati costantemente, le blacklist aggiornate, lo stesso motore dell'antispam alla lunga diventa inefficace. L'accesso dall'esterno della lan aziendale puo diventare complicato e se questo implica una web-mail anche una fonte di maggiore attenzione perche di fatto diventano 2 server da gestire e tenere aggiornati. Uno web e uno mail.
    Il grosso vantaggio è che un computer moderno, anche di classe desktop, puo gestire letteralmente migliaia di caselle email senza alcun fastidio.
  • Servizio a pagamento presso un noto provider: Il provider deve ovviamente essere tra i maggiori, e assolutamente degno di fiducia. Si deve scegliere sicuramente una opzione a pagamento, primo perche le email aziendali su un dominio noto per per dare email gratuite fanno una pessima figura, secondo perche in genere hanno limitazioni rilevante. Quasi nessuna casella di posta gratuita ha l'antispam e l'antivirus. Quindi ammesso di trovare un servizio noto, affidabile, ragionevolmente economico, senza troppe limitazioni, con webmail, antispam, antivirus, con un buon uptime .... e che altro ? ... ah si che fornisca anche l'smtp per poter inviare posta tramite qualsiasi connessione ... potremmo essere praticamente a posto. Ma esiste ? E cmq andiamo a perdere serivizi di groupware come il calendario condiviso, l'anagrafica delle email aziendali automatica e tante altre cosine