Posts
88
Comments
133
Trackbacks
6
giovedì 19 giugno 2008
Due cose che Microsoft dovrebbe "prendere" da Firefox

Colgo l'occasione dell'uscita della nuova versione di Firefox per scrivere un post che rimane comunque valido anche per la vecchia versione del browser.

Lavoro ormai nel mondo del web da parecchi anni, ma per la maggior parte del tempo ho lavorato esclusivamente su progetti Intranet che dovevano funzionare su IE6 o IE7. Adesso invece sono entrato nel fantastico mondo dei website multi-browser e ovviamente sono venuto a contatto massicciamente con Firefox.

Non voglio stare qui a dire se sia meglio Firefox, se sia meglio IE7 o se sia meglio Safari. Ci sono già abbastanza post di questo genere e non è certamente lo scopo di questo post.
Volevo solamente sottolineare due cose che a mio giudizio Internet Explorer dovrebbe "prendere" da Firefox:

  1. La velocità nell'esecuzione degli script Javascript. E' veramente abissale.... Non ho provato molto Firefox 3, ma la differenza tra Firefox 2 e IE7 è veramente enorme. Spero vivamente che IE8 sia stato notevolmente ottimizzato, ma dai pochi test che ho fatto non si nota molto.
  2. Firebug. Esistono tante alternative su IE, ma nessuna a mio giudizio è paragonabile a Firebug. Questo piccolo add-on risulta fondamentale per ogni web designer che non voglia impazzire nella costruzione di un sito web più o meno complesso. "Debuggare" HTML e CSS diventa veramente molto semplice su Firefox, mentre risulta molto ostico su IE.

Penso che basterebbero queste due piccole introduzioni, per far entrare Internet Explorer nel cuore di molti programmatori e nel cuore di molti utenti.
Non tutti infatti intraprendono "battaglie" filosofiche o di pensiero. Molti altri come me, preferiscono usare lo strumento più veloce, più leggero e più produttivo.

posted @ giovedì 19 giugno 2008 17.21 | Feedback (4)
mercoledì 18 giugno 2008
Rilasciata l'alpha 2 di NHibernate 2.0

Come annunciato da Fabio Maulo in questo post, è disponibile l'alpha 2 di NHibernate 2.0. Sorgenti ed eseguibili possono essere scaricati da qui.

Interessante la nota sulla beta 1 che è prevista per il prossimo 29/06/2008.

posted @ mercoledì 18 giugno 2008 15.08 | Feedback (0)
lunedì 21 aprile 2008
Disponibile l'alpha1 di NHibernate.Burrow 1.0.0

Come annunciato da Fabio nel newsgroup, riporto anche qui la notizia della disponibilità dell'alpha1 di NHibernate.Burrow. Ma cos'e' NHibernate.Burrow? Ecco un breve estratto preso direttamente dal wiki:

Why Is Burrow Needed?

Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework.
Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates.
....
....
OpenSessionInView pattern isn't hard to implement, but the real power Burrow provides is that Burrow conversation can span over multiple http requests, in another sentence, Burrow Conversation allows end user to have a stateful business transaction with the system that spans over multiple http request and response

 
Per chi volesse scaricarlo il link è il seguente:

http://sourceforge.net/project/showfiles.php?group_id=216446

Molto interessante, soprattutto per chi come me lavora prevalentemente con ASP.NET.
Mi riprometto di testarlo al più presto!

Technorati Tags:


posted @ lunedì 21 aprile 2008 9.30 | Feedback (1)
mercoledì 16 aprile 2008
NHibernate e Oracle

Breve post per segnalare questo blog che potrebbe rivelarsi utile per chi è alle prese con NHibernate e Oracle.

Technorati Tags: ,


posted @ mercoledì 16 aprile 2008 10.34 | Feedback (2)
giovedì 10 aprile 2008
Forum italiano di NHibernate

So che esiste un gruppo dedicato ad ORM su UgiDotNet, so che esiste Guisa, ma questo forum, per chi non lo conoscesse, tratta esclusivamente NHibernate:

http://groups.google.it/group/nh-it

Cosa aspettate, se siete utilizzatori NHibernate accorrete numerosi!

posted @ giovedì 10 aprile 2008 14.54 | Feedback (1)
lunedì 31 marzo 2008
Rilasciata l'alpha 1 di NHibernate 2.0

Mattina interessante: Ayende ha appena annunciato l'uscita dell'alpha 1 di NHibernate 2.0! I cambiamenti introdotti sono tantissimi e non sto qui ad elencarli. Non vedo l'ora di poter fare qualche test e qualche prova!

Technorati Tags:


posted @ lunedì 31 marzo 2008 8.58 | Feedback (0)
mercoledì 26 marzo 2008
[VOT] - Un Homer veramente realistico!

Scusate, so di essere in iper-off-topic, ma da fan di Homer non ho potuto resistere:

http://kk.org/ct2/2008/03/hyperreal-homer.php

Veramente impressionante!

posted @ mercoledì 26 marzo 2008 15.28 | Feedback (0)
giovedì 28 febbraio 2008
AJAX: iFrame e strana eccezione

Ormai è parecchio tempo che uso il framework AJAX di mamma Microsoft, ma l'errore di oggi non l'avevo mai visto:

Rispetto al solito, la cosa che ho fatto è inserire un iframe nella mia pagina.... Che possa essere quello il problema? Una veloce "googlata" ed ecco svelato il mistero. Riporto il testo preso da un post nel forum di ASP.NET:

"It seems 1.0 makes an assumption about the frameborder of a frameset being an integer.  The accompanying frame page will reproduce this error when the frameborder is set to a non-integer such as "yes" or "no".  Setting it to 1 or 0 makes it work again."

In effetti il bordo del mio iframe era settato a "no". Modificando il valore a 0 tutto è tornato a funzionare come prima.

Per completezza va detto che "yes" o "no" non sono valori definiti nelle specifiche, mentre lo sono 0 e 1.


Technorati Tag: ,


posted @ giovedì 28 febbraio 2008 21.46 | Feedback (0)
mercoledì 27 febbraio 2008
[NHibernate] - DateTime e update non necessari

Seguendo il post di Gian Maria oggi mi sono deciso ad attivare il log su NHibernate per verificare quali query fossero lanciate sul database (a proposito quando attivate il log ricordatevi di inserire l'inizializzazione di log4net altrimenti non viene loggato niente).

Tutto funziona a meraviglia, ma con mio stupore ho notato che nel dump sono presenti una serie di update a fronte di una semplice lettura di dati (da un solo tipo di entità). Controllo il mio file di mapping ma è tutto molto semplice: qualche proprietà e 4-5 relazioni many-to-one. Vado in debug e in effetti verifico che la sessione è dirty.

Non sapendo che altro verificare, ho iniziato a togliere dal file di mapping proprietà su proprietà fino a scoprire quelle colpevoli: si tratta di due campi DateTime che nel database sono però nullabili. La spiegazione dettagliata del perchè l'entità venga considerata dirty la trovate in questo post di Ayende.

Come consigliato ho risolto il problema modificando le due proprietà affinchè fossero nullable: 

Public Overridable Property Data() As Nullable(Of DateTime) Get Return m_Data End Get Set(ByVal value As Nullable(Of DateTime)) m_Data = value End Set End Property
Technorati Tags: ,


posted @ mercoledì 27 febbraio 2008 14.27 | Feedback (2)
[jQuery] - Bug sulle funzioni di animazione

Utilizzando l'ultima versione di jQuery (la 1.2.3) e provando i miei soliti script js mi è saltato fuori il seguente bug:

jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")] is not a function

Come spiegato in questo ticket si tratta di un bug di associato ad alcune funzioni di animazione che viene fuori nel caso in cui si utilizzino delle funzioni di callback. Nel mio caso sto utilizzando la fadeIn e la fadeOut.
Andando a sbirciare nel codice di jQuery si nota questo:

fadeOut: function(speed, callback){ return this.animate({opacity: "hide"}, speed, callback); }, fadeTo: function(speed,to,callback){ return this.animate({opacity: to}, speed, callback); }, animate: function( prop, speed, easing, callback ) { .... ....

Come si può vedere le funzioni fateOut e fadeTo (ma anche altre) richiamano la animate passando tre parametri su quattro. L'easing non viene mai passato. Questo non causa errori fino a che non viene passato il callback, che infatti viene preso come terzo parametro al posto dell'easing.

In attesa della correzione ufficiale, possiamo correggere il problema in vari modi: intervenendo direttamente sullo script di jQuery (a mio parere sconsigliato), oppure sosituendo le chiamate alle funzioni di animazione con la chiamata diretta alla animate, oppure ridefinendo le funzioni di animazione utilizzate in modo da correggere il bug.

Technorati Tags:


posted @ mercoledì 27 febbraio 2008 10.03 | Feedback (0)
venerdì 22 febbraio 2008
Rimuove la versione Embedded Edition di SQL Server 2005 (SSEE)

Oggi dopo più di un anno di stop, mi sono rimesso a giochicchiare con Windows SharePoint Services (WSS) 3.0. In particolare ho testato l'installazione su Windows Server 2008 per verificarne la compatibilità (ho installato senza problemi la versione con SP1). Per fare prima ho scelto di installare tutto anche la versione embedded del database.

Finiti i test, andando a rimuovere il prodotto mi sono accordo che era rimasta un'istanza di SQL Server chiamata MICROSOFT##SSEE. Si tratta della versione Embedded Edition di SQL Server 2005 installata da WSS che però non viene rimossa dal pacchetto di installazione.

Per disintallare anche questa componente è sufficiente seguire il procedimento indicato in questo post.

posted @ venerdì 22 febbraio 2008 14.44 | Feedback (1)
venerdì 18 gennaio 2008
Rilasciata la versione 1.2.2 di jQuery

Rilasciata la versione 1.2.2 della popolare libreria javascript jQuery. E' una release minore ma le aggiunte/modifiche sono interessanti:

  • $(DOMElement) velocizzato del 300%;
  • modifiche al metodo .ready che lo rendono più performante e più potente;
  • bind di eventi su mouseenter, mouseleave e pure su mousewheel;
  • aggiunta del selettore .not.
Per il download il link è il seguente: http://docs.jquery.com/Release:jQuery_1.2.2

Technorati Tags: ,


posted @ venerdì 18 gennaio 2008 9.01 | Feedback (0)
giovedì 10 gennaio 2008
[OT] - Abilitare il microfono con schede Realtek e Vista
Post "leggermente" off-topic, ma penso che possa essere utile a chi ha avuto problemi come me. Problema: da quando ho installato Vista il microfono della mia scheda audio integrata Realtek non ha mai funzionato. Il problema non è solo mio e infatti consultando il solito Google si trovano decine e decine di post, con tantissimi suggerimenti, insulti, fantasie e quant'altro....
posted @ giovedì 10 gennaio 2008 9.05 | Feedback (2)
domenica 6 gennaio 2008
Visual Studio 2008: lentezza esasperante nell'editor HTML

Visual Studio 2008 è un gran bel prodotto, ma se state lavorando in ASP.NET potreste aver notato una lentezza esasperante dell'editor HTML. In particolare lavorando in source mode il sistema sembra "freezare" per alcuni istanti. Il problema è che questo "bug" è cronico e quindi diventa veramente frustrante lavorare.

Per "fortuna" il problema non è solo mio, ma è abbastanza diffuso come si può leggere in questo post e in quest'altro. Per quanto mi riguarda chiudendo la finestra delle Proprietà e disabilitando la validazione nell'editor HTML i problemi sembrano essersi ridotti di molto. In questi giorni verificherò più a fondo la situazione.

Concludo riportando la risposta che è stata data in uno di quei post da parte di un membro del team di sviluppo:

Status of the issue: we identified a few issues regarding the Source and Design views performance. We are working on the fix, but unfortunately, I cannot give you any timeline. Here is what we know about:

a. Design view typing in certain files can be affected by too frequent sync from Designer to Source view. There is no workaround. 

b. Source view performance may be affected by too frequent updates of JScript intellisense data or by updates to the Properties window.

In (b) you may try turning off intellisense in Tools | Options | Text Editor | HTML | General -> uncheck Auto List Members and see if performance gets better You may also try switching off validaton in Tools | Options | Text Editor | HTML | Validation. Try also closing properties window.

In any case - I would like to collect more information since there may be other cases. Feel free to e-mail me your repro steps and, if possible, repro page at mikhaila-at-microsoft-dot-com. Minimal repro is, as always, appreciated. Please provide the following information:

1. Are there any themes or style sheets attached and if performance gets better if you detach the style sheet or disable theming.

2. Is performance better when properties window is closed.

3. Does delay depend on which element are you editing (i.e. how long is the element properties list)

4. Is performance better when there are fewer controls with ID attribute?

5. Is editor faster when there are no client script blocks in the page?

Technorati Tag:


posted @ domenica 6 gennaio 2008 12.19 | Feedback (2)
sabato 15 dicembre 2007
Settare una proprietà con l'attributo <ScriptIgnore>

 

E' da un po' di tempo che sono alle prese con NHibernate, Domain Model, AJAX e compagnia bella.

In particolare sto utilizzando massiciamente i PageMethods per recuperare i dati di un'entità e visualizzarli in un ModalPopup. Oggi aggiungendo una form per editare una nuova entità mi è saltato fuori il messaggio:

image

Il problema è dovuto al fatto che all'interno dell'entità Documentazione ho una reference all'entità padre che a sua volta ha una reference ad una lista di oggetti di tipo Documentazione.

La soluzione che ho trovato è stata quella di marcare la proprietà relativa alla reference dell'entità padre con l'attributo <ScriptIgnore() > in modo da evitare che venga serializzata da AJAX.

L'unica cosa che non mi piace molto è che nel mio assembly "Core" dove ho tutte le entità ho dovuto aggiungere un riferimento all'assembly System.Web.Extensions.

Technorati Tag: ,


posted @ sabato 15 dicembre 2007 10.33 | Feedback (0)
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.
La mia foto
Da grande fan di Homer & company non potevo esimermi nel simpsonizzarmi. Eccomi insieme alla mia dolce metà:
Simpsonizzato

Logo MCAD
Logo MCTS

Visite dal 16/03/2007:

Il mio stato su Messanger: