Caffettiera

6.18.2007

Project Management

http://www.project-management-software.org/

http://www.easyprojects.net/

5.24.2007

IIS after XP service pack 2

Greetings, I think I found a solution on another site. I did this:

Exited the entire add or remove programs panel. Then opened a command window and entered: esentutl /p %windir%\security\database\secedit.sdb

After doing this I attempted to add the IIS component and it worked perfectly.

5.23.2007

L’architetto e il suo destino Di Maurizio Cunico

La prima volta che dissi a mio zio, di professione salumiere, che facevo l’architetto, questi mi guardò un po’ stranito e mi disse: “Strano, pensavo che tu lavorassi con i computer, non con le case”.

Fortunatamente questo non lese i nostri rapporti e finì di prepararmi un po’ di ottimo culatello.

Mentre tornavo a casa cominciai a pensare se la terminologia “architetto” fosse quella più giusta per descrivere il mio lavoro.

In quel periodo lavoravo in una azienda che aveva la sua “fabbrica del software” e che stava sviluppando un nuovo prodotto.

Nella fabbrica lavorava un direttore (che dirigeva), del personale amministrativo (che amministrava), degli analisti funzionali (che facevano analisi funzionale), degli analisti tecnici (che facevano l’analisi tecnica), degli sviluppatori (che sviluppavano), dei tester (che facevano il test) e altri.

E io? Cosa facevo? Perché mi chiamavo, e avevo convinto gli altri a chiamarmi, architetto?

L’architetto Edile
Nell’edilizia, semplificando, abbiamo l’architetto che disegna la casa, abbiamo l’ingegnere edile che fa tutti i calcoli e le misure, abbiamo il capomastro che guida la costruzione e abbiamo gli operai edili che fisicamente si occupano dei mattoni, del cemento e di tutto quello che è necessario a trasformare in casa un insieme di materiali vari.

Nell’edilizia è chiaro il compito di ciascuno:

• l’architetto deve disegnare una casa che sia piacevole da vedere, sia piacevole da usare, sia inseribile nel contesto in cui viene costruita, il tutto indicando, fin dove è possibile, i migliori materiali e le tecnologie più innovative e con un corretto rapporto qualità/prezzo;
• l’ingegnere deve fare tutti i calcoli necessari alla corretta gestione dei materiali utilizzati, tra cui la tipologia di cemento, il tipo di ferri, le dimensioni dei pilastri e delle tramezze e così via. Il suo compito è far sì che l’immobile costruito rimanga “immobile” e non si sfasci dopo poche settimane;
• il capomastro e gli operai si occupano di trasformare disegni e calcoli in un oggetto fisico.

Nel nostro lavoro la suddivisione dei ruoli non è così chiara.


L’architetto Software
Un architetto del software deve fare molte e diverse cose tra cui:

• Capire le esigenze del cliente
• Capire quali sono gli strumenti e le tecnologie più adatte alla soluzione del problema
• Disegnare l’architettura dell’infrastruttura del sistema
• Disegnare l’architettura applicativa della soluzione
• Disegnare l’architettura della presentation della soluzione

Ma contemporaneamente, spesso, deve fare altre cose:

• Capire quali sono le esigenze inespresse del cliente (essere un po’ analista funzionale)
• Capire quali sono i vincoli organizzativi e strutturali del Cliente (essere un po’ analista tecnico e un po’ consulente organizzativo)
• Capire quali sono i vincoli di integrazione e di relazione sia inter-company che intra-company (essere un po’ commerciale, consulente organizzativo, consulente di M&A, consulente finanziario, etc…).
• Fare un prototipo della scelta tecnologica di punta che tutti si ostinano a dire “non può funzionare” per dimostrare il contrario (essere un po’ ingegnere software).
• Sovrintendere al lavoro successivo degli sviluppatori per verificare che un livello, inserito per rendere l’applicazione portabile o pronta a evoluzioni future, non diventi un dinosauro a settecento livelli (essere un po’ capomastro e un po’ direttore della fabbrica)
• Calmare il cliente che non capisce cosa c’entri uno strato di accesso ai dati e un meccanismo per la gestione delle business rules con la sua esigenza di fare fatture (essere un po’ commerciale)
• Calmare l’intero staff di sviluppo che non capisce perché si debba fare tre livelli applicativi invece di quel meraviglioso monolite con tre milioni di righe in una sola funzione che fa tutto senza classi, metodi e tutte quelle cose lì un po’ oscure e francamente noiose
• Calmare i due o tre dello staff di sviluppo che per accedere ai dati fanno un fantastico livello suddiviso in trentadue sotto livelli tra cui il meraviglioso livello 24 che generalizza il concetto di “where” nella ipotesi che un domani ci sia l’SQL in italiano o che esiste un “where” ma anche “who” , “when”, “what” e why” se domani ci fosse il “SQL del Giornalista” con le sue cinque “W” (chi?/dove?/quando?/che cosa?/perché?) (mi scuso con voi e con Clark Gable per la citazione cinefila).
• …

Insomma fare l’architetto significa un po’ essere il padre della soluzione che si va a progettare.

Concepirla, farla nascere e crescere e vederla allontanarsi da casa, ma tenendola d’occhio come un padre premuroso con il figlio un po’ scapestrato, che andrà sicuramente con qualche brutta compagnia e rischierà di cacciarsi in qualche brutto bug.

Bug che ci costringerà a correre di notte al suo capezzale a portargli un bug fixing tanto più doloroso quanto il bug era grosso.

E quindi che fare?


Chi è l’architetto del Software
Fare l’architetto factotum o fare l’architetto sulla sua torre che dispensa disegni e saggezza?

L’architetto del software per prima cosa deve essere persona multi disciplinare.

La sua conoscenza non può essere solo informatica, deve comprendere anche elementi che sono di contorno all’informatica, non dimenticando che nella stragrande maggioranza dei progetti, a essere di contorno al tutto è il software e non viceversa.

Per assurdo, ma non tanto, un architetto del software può fare bene il suo lavoro solo se conosce molto bene il contesto dell’applicazione, le sue terminologie specifiche, il contesto di business e di relazioni, i meccanismi di produzione e gli aspetti organizzativi.

Un classico errore è focalizzare l’architettura su un argomento che compare nell’analisi, ma che non ha nella realtà, un peso così elevato.

Un esempio tipico è l’esigenza di operare anche fuori linea, gestendo la sincronizzazione delle informazione tra operatori fuori linea e quelli sempre in linea.

Questo è un classico e interessante problema di architettura applicativa e sistemistica.

Le molte soluzioni esistenti sono focalizzate sull’operatività off-line e la scelta su quale sia quella corretta è frutto dell’analisi e della comprensione di questa specializzazione.

Tuttavia il primo approccio verso l’operatività off-line deve essere orientato non tanto agli aspetti strettamente tecnologici, quanto verso quelli organizzativi e di business, non tanto per invadere il campo degli Analisti Funzionali che hanno rilevato le esigenze organizzative e di business, quanto per valutare, in base alle diverse scelte tecnologiche, le condizioni di miglior costo/beneficio del problema nel suo insieme.

Make vs. Buy
Inoltre l’architetto deve cercare di mantenere un distacco dalle spinte “aziendali” indirizzate a dare una soluzione a tutto tondo del problema del cliente, spingendo sempre, fin quanto possibile, la soluzione buy contro la soluzione make.

Rifare in casa quello che è già fatto è spesso molto conveniente per il fornitore, ma altrettanto spesso non lo è per il committente.

Le soluzioni fatte in casa, e il software precostruito e riutilizzato, possono rispondere perfettamente alle esigenze architetturali del cliente, e in questo caso possono essere scelte senza problemi, ma possono anche essere molto lontane dalle esigenze e in questi casi si vede l’esplosione di una miriade di “trucchi” per far funzionare correttamente il tutto.

Nella memoria ho vivida una soluzione trovata presso un cliente, dove un’applicazione scriveva dei file su disco e poi chiamava l’altra applicazione con una shell. L’altra applicazione veniva eseguita aprendo per prima cosa i file salvati su disco.

Questa soluzione aveva problemi prestazionali e di sincronizzazione notevoli e ciò che facemmo fu di verificare se esistesse sul mercato una soluzione standard in grado di gestire l’integrazione con le applicazioni esistenti, migliorando la prestazione e semplificando la configurazione e la gestione.

La capacità di conoscere “i materiali”, ovvero di fare scouting sulla rete di componenti applicativi, è un elemento di distinzione netta tra un buon e un cattivo architetto del software.

La costruzione di edifici particolarmente belli e funzionali è, da parte dell’architetto edile, frutto di scouting e di valutazione dei materiali disponibili e innovativi.

Un esempio tra tutti la piramide di entrata al Louvre di Parigi frutto della genialità di Ieoh Ming Pei, ma anche dell’utilizzo di materiali e tecnologie estremamente innovative.

L’architetto si pone come il direttore dell’orchestra, il suo compito è di far si che ogni componente del progetto dia il meglio.

Questo ruolo non è alternativo a quello del Capo Progetto che deve far sì che ogni componente dia il meglio, ma in subordine agli aspetti economici, commerciali e di relazione.

L’architetto può “sognare” di più e sarà, eventualmente in una seconda fase, il Capo Progetto a riportarlo nelle regole complessive del progetto se, in qualche modo, ne esce.

Inizio pagina
Il lavoro dell’architetto
Il contesto di lavoro dell’architetto software è un ecosistema che comprende

• Architettura dell’applicazione
• Architettura dell’infrastruttura e del deploy (per i componenti software)
• Architettura dell’usabilità
• Architettura dell’integrazione (dei diversi componenti del sistema)

Così come l’architetto edile si confronta con numerose e diverse sfaccettature della costruzione così l’architetto software affronta ogni progetto come molti sub progetti specializzati, facendo sì di armonizzarli e renderli coerenti e funzionali.

In particolare l’applicazione deve essere centrale nell’attenzione e nell’operatività, ovvero l’applicazione deve fare ciò per cui è richiesta e pensata nella modalità più efficiente e semplice.

L’architetto software deve evitare le elaborazioni fantasiose e “curiose” quando queste non siano utili allo scopo primario dell’applicazione.

La soluzione innovativa e/o “di effetto” non deve mai puntare all’innovazione e/o all’effetto come fine, ma al miglioramento dell’applicazione per sé.

Non sempre è facile fare questo perché a volte ci si “innamora” della propria soluzione e ci si autoconvince che è esattamente ciò che il cliente si aspetta.

Questo è un grosso pericolo, reale e insidioso.

È abbastanza normale, e comprensibile, che il frutto di una lunga elaborazione appaia come una soluzione perfetta, tuttavia la soluzione pensata ed elaborata con cura può portare in sé anche delle carenze o difetti che trasferiti nella soluzione reale possono diventare molto critici.

È necessaria una forte onestà intellettuale verso se stessi e una altrettanto marcata umiltà.

Un errore di architettura può avere effetti infinitamente più gravi di ogni altro componente nello sviluppo del software.

A fronte di una progettazione azzardata, gli ingegneri del software potranno cercare di fare i pilastri robusti quanto vogliono, ma nella migliore delle ipotesi la soluzione sarà brutta e sgraziata, e in un’applicazione “sgraziata” è sinonimo di “mal funzionante”.

Un’applicazione correttamente progettata dal punto di vista dell’architettura sarà un’applicazione che farà bene ciò che deve fare e lo farà in un contesto che risulterà piacevole all’utente.


Domande
Per fare tutto questo è necessario affrontare i diversi aspetti della progettazione ponendosi molte domande e inquadrando correttamente il problema applicativo.

Per prima deve essere disegnata l’architettura applicativa, ovvero

• Chi fa cosa (profili applicativi);
• Come si deve fare quello che si deve fare (cosa fa e, soprattutto, cosa non fa l’applicazione);
• Ciò che avviene è atomico (siamo in contesto transazionale?);
• Ciò che avviene ha un tempo finito o indeterminato (siamo a fronte di long time transaction?).

Poi si deve procedere al disegno dell’architettura dell’infrastruttura e del deploy, ovvero

• Com’è, concettualmente, il sistema fisico che accoglie l’applicazione;
• Quali sono i vincoli di infrastruttura che devo valutare al fine del disegno applicativo (tipologia di rete, velocità della rete, presenza di componenti esclusivamente umane, etc…);
• Qual è l’organizzazione dell’infrastruttura dal punto di vista della distribuzione dei diversi componenti applicativi (front-end, back-end, RDBMS, etc…);
• È necessario avere una distribuzione del carico (Load balancing, Pooling di risorse, etc…).

E ancora bisogna affrontare il problema dell’architettura dell’usabilità:

• Quale deve essere l’ergonomia della user interface;
• Quali sono le tipologie di dispositivi che accederanno all’applicazione (PC, PDA, Smart Phone, Web o Windows Application, etc…);
• Quali sono le periferiche di interazione con l’applicazione (solo tastiera, tastiera e mouse, touch screen, etc…);
• Sono presenti molte attività di data entry massivo;
• Sarà disponibile un servizio di help desk o gli utenti dovranno operare in stato di “isolamento operativo”
• Sono presenti particolari condizioni di interazione con le apparecchiature (uso di guanti protettivi obbligatori, ridotta accessibilità ai computer, etc…).

E ultimo, ma non ultimo, tutti gli aspetti di architettura dell’integrazione, ovvero

• Siamo di fronte ad un sistema chiuso o aperto;
• Se non è un sistema chiuso, come espone se stesso o come interagisce con altri sistemi;
• Quali sono le interazioni previste e quali le regole di servizio (SLA) che ogni sistema coinvolto deve rispettare;
• Esistono processi trans-aziendali e come devono essere coordinati tra di loro.

Queste domande, con altre, sono alla base di ciò che deve fare l’architetto.


La soluzione e la qualità
Per operare bene è necessario rispondere alle domande, a tutte le domande, con una strategia d’approccio omogenea e coerente.

Fornire soluzioni concettuali ottimali a partire dagli strumenti che il mercato propone e che siano coerenti con le scelte complessive.

Un architetto deve essere laico, le battaglie “fideistiche” su specifiche scelte di bit&byte o di “prodotto” non lo devono riguardare.

Al centro dell’attenzione dell’architetto deve rimanere l’eccellenza della soluzione, la qualità percepibile dal cliente e l’efficienza complessiva del sistema.

E tra queste prima fra tutte, nel lavoro dell’architetto del software, è la massima attenzione alla qualità percepita dal cliente.

La qualità è sempre segnata da tre punti di vista distinti: la qualità intrinseca, la qualità espressa e la qualità percepita.

Una soluzione può essere di grandissima qualità intrinseca, ma salvo il programmatore, che sviluppa l’algoritmo iper sofisticato, nessun altro è in grado di percepire questa qualità, viceversa una soluzione non particolarmente brillante dal punto di vista strettamente tecnico, può risultare estremamente performante ed efficace per l’utilizzatore del sistema.

L’architetto è spesso chiamato a compromessi tra la massima qualità intrinseca e la qualità percepita.

La sua laicità, e conseguente capacità di non innamorarsi di una soluzione, gli permette di vedere il sistema sempre con uno sguardo disincantato e lucido di chi deve primariamente fornire al cliente esattamente ciò che gli serve e ciò che lui si aspetta dall’applicazione (anche se non è automatico che questi due aspetti siano pienamente sincronizzati).

L’architetto deve guidare lo sviluppo del software attraverso i meandri e le contraddizioni di esigenze spesso contrapposte, deve avere uno sguardo complessivo e aperto.


L’architetto scrive codice
Spesso viene posta la domanda se l’architetto software possa essere anche lo sviluppatore di ciò che progetta.

Due sono gli aspetti da valutare.

L’architetto software deve conoscere molto bene il materiale che inserirà nel progetto quindi non è possibile che non conosca gli strumenti a disposizione per la realizzazione di una soluzione e tra questi i linguaggi di programmazione, gli ambienti di sviluppo, i tools, le applicazioni server e tutto quanto possa essere coinvolto nello sviluppo di una soluzione.

Altro aspetto è legato alla sua partecipazione diretta allo sviluppo del software con la scrittura di codice applicativo.

Sul primo aspetto non c’è nulla da dire, l’architetto non solo può, ma deve avere una conoscenza tutt’altro che minimale degli ambienti di sviluppo e dei relativi linguaggi.

Per quello che riguarda il coinvolgimento sullo sviluppo del software è buona cosa se l’architetto del software si astiene dal partecipare direttamente a questa attività.

Questo per una serie di motivazioni: l’architetto è il garante delle scelte che l’insieme degli attori coinvolti nella realizzazione di una applicazione devono fare.

Il suo coinvolgimento come una delle parti in gioco, tra l’altro su elementi strettamente operativi, non potrebbe che essere limitativo della libertà di visione e di scelta (a discapito della qualità fornita al cliente).

Inoltre una componente fondamentale dello sviluppo è la fantasia, l’inventiva, l’abbandono di ogni schema per trovare la soluzione giusta. Un eccellente programmatore è proprio questo: fantasia e inventiva.

Ma l’architetto deve essere anche metodo e materiali oltre che inventiva; la fantasia e l’inventiva nell’architetto è elemento di lavoro, ma non è il valore primario.

La realtà delle aziende meno grandi è che nei progetti software i diversi ruoli sono, di volta in volta, affidati alla stessa persona che li interpreta in base alle esigenze specifiche (il DBA può scrivere codice o fare test e documentazione, l’analista può scrivere codice o effettuare dei test, lo sviluppatore può occuparsi di installare l’infrastruttura di sistema, e così via).

Anche se questo è ormai metodo e/o necessità, rimane fortemente sconsigliato che l’architetto mescoli ruoli diversi.

Questo perlomeno sino a che il progetto non sia completamente definito e percorra binari condivisi e accettati.

Conclusioni
La figura dell’architetto è sicuramente una figura di riferimento centrale, ha compiti e responsabilità importanti e la sua capacità di essere interdisciplinare è fondamentale.

Architetti del software non si nasce, lo si diventa con una crescita basata sulla continua curiosità ed attenzione al mondo reale.

Si può essere dei buoni architetti o anche eccellenti architetti, ma l’unica unità di misura di questo è l’opinione degli altri e i risultati ottenuti.

È una professione che permette bellissime esperienze e grandi soddisfazioni, ma è un lavoro nel quale commettere errori, anche veniali, può produrre risultati devastanti.

Insomma una buona dose di umiltà, una grande competenza multi disciplinare, formazione continua e a 360 gradi, rigore, lucidità e laicità.

Ultima domanda prima di chiudere queste note: visto questo profilo, questo mix notevole e non facile da ottenere e mantenere nel tempo, come mai siamo così tanti a voler fare gli architetti?

5.13.2007

ASP.NET 2.0 Events order

Application: BeginRequest
Application: PreAuthenticateRequest
Application: AuthenticateRequest
Application: PostAuthenticateRequest
Application: PreAuthorizeRequest
Application: AuthorizeRequest
Application: PostAuthorizeRequest
Application: PreResolveRequestCache
Application: ResolveRequestCache
Application: PostResolveRequestCache
Application: PreMapRequestHandler
Page: Construct
Application: PostMapRequestHandler
Application: PreAcquireRequestState
Application: AcquireRequestState
Application: PostAcquireRequestState
Application: PreRequestHandlerExecute
Page: AddParsedSubObject
Page: CreateControlCollection
Page: AddedControl
Page: AddParsedSubObject
Page: AddedControl
Page: ResolveAdapter
Page: DeterminePostBackMode
Page: PreInit
Control: ResolveAdapter
Control: Init
Control: TrackViewState
Page: Init
Page: TrackViewState
Page: InitComplete
Page: LoadPageStateFromPersistenceMedium
Control: LoadViewState
Page: EnsureChildControls
Page: CreateChildControls
Page: PreLoad
Page: Load
Control: DataBind
Control: Load
Page: EnsureChildControls
Page: LoadComplete
Page: EnsureChildControls
Page: PreRender
Control: EnsureChildControls
Control: PreRender
Page: PreRenderComplete
Page: SaveViewState
Control: SaveViewState
Page: SaveViewState
Control: SaveViewState
Page: SavePageStateToPersistenceMedium
Page: SaveStateComplete
Page: CreateHtmlTextWriter
Page: RenderControl
Page: Render
Page: RenderChildren
Control: RenderControl
Page: VerifyRenderingInServerForm
Page: CreateHtmlTextWriter
Control: Unload
Control: Dispose
Page: Unload
Page: Dispose
Application: PostRequestHandlerExecute
Application: PreReleaseRequestState
Application: ReleaseRequestState
Application: PostReleaseRequestState
Application: PreUpdateRequestCache
Application: UpdateRequestCache
Application: PostUpdateRequestCache
Application: EndRequest
Application: PreSendRequestHeaders
Application: PreSendRequestContent

5.12.2007

Ruby on Rail

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something.

" They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves."
Yukihiro "Matz" Matsumoto

5.01.2007

REPORT

http://www.stimulsoft.com/StimulReportMoreInfo.aspx

http://www.perpetuumsoft.com/Product.aspx?lang=en&pid=21

4.30.2007

TO DO:

combatti il grigio ,preserva la sete, distruggi il nemico,deturpa la quiete, non per il gusto di, ma per amore di ricostruire una quiete migliore

3.24.2007

synergy from pc to mac and viceversa

With synergy, all the computers on your desktop form a single virtual screen. You use the mouse and keyboard of only one of the computers while you use all of the monitors on all of the computers. You tell synergy how many screens you have and their positions relative to one another. Synergy then detects when the mouse moves off the edge of a screen and jumps it instantly to the neighboring screen. The keyboard works normally on each screen; input goes to whichever screen has the cursor.

http://synergy2.sourceforge.net/

Larry Wilson

« La leadership sta nel dimostrare agli altri il desiderio di prendersi cura di loro e favorire la loro crescita »

« Il lavoro di un leader è quello di trascinarci e portarci oltre il punto che noi pensavamo di poter raggiungere »

«
La leadership si esprime in tre momenti:

  • il primo consiste nel creare una visione delle cose in cui poter credere e che si possa comunicare agli altri
  • il secondo consiste nel guidare i tuoi verso quell'idea
  • il terzo consiste nel preoccuparti della crescita e dello sviluppo delle persone che guidi, senza preoccuparti delle conseguenze di quella crescita su di te

»

Guido Spad8

le foto di guid8

http://www.flickr.com/photos/guido_spad8/

3.15.2007

Firebug

http://www.getfirebug.com/

Firebug integrates with Firefox to put a wealth of development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.

BackStreet Browser 3.1 - Free Offline Browser / WebSite Downloader

http://www.spadixbd.com/backstreet/

It is a free, powerful offline browser. A high-speed, multi-threading website download and viewing program. By making multiple simultaneous server requests, BackStreet Browser can quickly download entire website or part of a site including HTML, graphics, Java Applets, sound and other user definable files, and saves all the files in your hard drive, either in their native format, or as a compressed ZIP file and view offline.

2.12.2007

Apple

http://www.foofpod.com/

1.28.2007

dEsIgN

http://www.nomadedesign.com/

http://www.t-shirtbox.it/

1.27.2007

DataGrid Component

http://www.dbnetgrid.com

http://www.telerik.com/products/aspnet/controls/grid/overview.aspx

1.23.2007

fax component

http://www.java4less.com/barcodenet/barcodesdotnet.php?info=features

http://www.blackice.com/barcodeDataMatrix2DRead.htm

1.21.2007

Rilke

Se la vostra giornata vi sembra povera
non accusatela
Accusate voi stessi
di non essere abbastanza poeti
per chiamare a voi le sue ricchezze
R.M. Rilke

1.15.2007

DATAGRID GIRL E GRIDVIEW GIRL

http://www.datagridgirl.com/default.aspx

http://www.gridviewgirl.com/GridViewGirl/

ISSUE TRACKERS

http://csharp-source.net/open-source/issue-trackers

http://www.countersoft.com/

http://www.ultraapps.com/

1.14.2007

Making Google IG

I will show you how I built a start page similar to Google IG in 7 nights using ASP.Net Ajax, .NET 3.0, Linq, DLinq and XLinq. I have logged my day to day development experience in this article and documented all the technical challenges, interesting discoveries and important design & architectural decisions. You will find the implementation quite close to actual Google IG. It has drag & drop enabled widgets, complete personalization of the pages, multi page feature and so on. It's not just a prototype or a sample project. It's a real living and breathing open source start page running at http://www.dropthings.com/ which you can use everyday. You are welcome to participate in the development and make widgets for the project.

http://www.codeproject.com/Ajax/MakingGoogleIG.asp

1.08.2007

POP3 EXCHANGE ACCELERATOR

After using for many years third party tools (pullmail, popbeamer, ...) to retrieve mails from POP3 mailboxes, someone told me you can decrease the polling interval.
The minimum level you can set through the GUI is 15 minutes.
This is how you can change this through a registry setting: ScheduleAccelerator.
Remember, this connector is only available for a Small Business Server !
1. Locate and then click the following registry subkey:
"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/SmallBusinessServer/Network/POP3 Connector"
2. On the "Edit" menu, point to "New", and then click "DWORD Value".
3. Type "ScheduleAccelerator" (without the quotation marks) as the entry name, and then press ENTER.
5. On the "Edit" menu, click "Modify".
6. In the "Value data" box, type the value that you want, and then click "OK". To determine the polling interval, the value that is configured on the "Scheduling" tab in the GUI is divided by the value that you type for the ScheduleAccelerator entry.
For example, if a 15 minute interval is specified in the GUI and you set the value of the ScheduleAccelerator entry to 3, the connector will poll ever five minutes.
7. Quit Registry Editor

1.02.2007

Regina Spektor Fidelity Lyrics

(Shake it up)
I never loved nobody fully
Always one foot on the ground
And by protecting my heart truly
I got lost in the sounds
I hear in my mind
All these voices
I hear in my mind all these words
I hear in my mind all this music
And it breaks my heart
And it breaks my heart
And it breaks my heart
It breaks my heart
And suppose I never ever met you
Suppose we never fell in love
Suppose I never ever let you kiss me so sweet and so soft
Suppose I never ever saw you
Suppose we never ever called
Suppose I kept on singing love songs just to break my own fall
Just to break my fall
Just to break my fall
Just to break my fall
Break my fall
Break my fall
All my friends say that of course its gonna get better
Gonna get better
Better better better better
Better better better
I never love nobody fully
Always one foot on the ground
And by protecting my heart truly
I got lost
In the sounds
I hear in my mind
All these voices
I hear in my mind all these words
I hear in my mind
All this music
And it breaks my heart
It breaks my heart
Breaks my
Heart
Breaks my heart
I hear in my mind
All these voices
I hear in my mind all these words
I hear in my mind
All this music
And it breaks my heart
It breaks my heart
Breaks my
Heart
Breaks my heart
and it breaks my heart
it breaks my heart
and it breaks my heart
and it breaks my heart

12.31.2006

MAD WORLD

All around me are familiar faces
Worn out places
Worn out faces

Bright and early for their daily races
Going nowhere
Going nowhere

Their tears are filling up their glasses
No expression
No expression

Hide my head I want to drown my sorrow
No tomorrow
No tomorrow

And I find it kind of funny
I find it kind of sad
The dreams in which I’m dying
Are the best I’ve ever had
I find it hard to tell you
I find it hard to take
When people run in circles
It’s a very very
Mad world
Mad world

Children waiting for the day they feel good
Happy birthday
Happy birthday

Made to feel the way that every child should
Sit down and listen
Sit down and listen

Went to school and I was very nervous
No one knew me
No one knew me

Hello teacher tell me what’s my lesson
Look right through me
Look right through me

And I find it kind of funny
I find it kind of sad
The dreams in which I’m dying
Are the best I’ve ever had
I find it hard to tell you
I find it hard to take
When people run in circles
It’s a very very
Mad world
Mad world
enlarged in your world
Mad world

12.29.2006

ILLUSIONS TOY

http://www.grand-illusions.com/

12.27.2006

BARCODE

http://www.greensoft.net/

http://www.kofax.com/products/ascent/capture/details.asp

http://www.ocrtools.com/

http://www.freedownloadscenter.com/Best/barcode-_net.html

12.24.2006

Feric Studio

http://www.feric.com/

Nine Things Developers Want More Than Money

from ROB

Many of the developers I know have been programming since they were in junior high. Whether it was building text-based games on an Apple IIe or creating a high school football roster app in Visual Basic, it's something they did for the challenge, for the love of learning new things and, oh yes, for the ladies. Ladies love a man who can speak BASIC to his Apple.

Code

College graduates face a sad reality when they leave the protective womb of a university and have to get their first real job. Many of my friends found jobs paying around $25k out of school, and were amazed that the starting engineering and computer science salaries were nearly double that. But the majority of the engineers in my class didn't become engineers for the money; we did it because it touched on a deep inner yearning to tinker and impress their friends. And did I mention the ladies?

Money is a motivating factor for most of us, but assuming comparable pay, what is it that makes some companies attract and retain developers while others churn through them like toilet paper?
Hygiene and Motivation
In the 1950s a researcher named Frederick Herzberg studied 200 engineers and accountants in the US. He asked them a few simple questions and came up with what is one of the most widely-accepted theories on job satisfaction called Two Factor Theory.

His theory breaks job satisfaction into two factors:

  • hygiene factors such as working conditions, quality of supervision, salary, safety, and company policies
  • motivation factors such as achievement, recognition, responsibility, the work itself, personal growth, and advancement

Hygiene factors are necessary to ensure employees don't become dissatisfied, but they don't contribute to higher levels of motivation. Motivation factors are what create motivation and job satisfaction by fulfilling a person's need for meaning and personal growth.

Think of a large financial company like Countrywide or IndyMac. Although I've never worked for either, the stories I've heard indicate the hygiene factors are well taken care of: working conditions are good, supervision is reasonable, salaries are decent, they have good benefits, etc...

However, the motivation factors are, shall we say, incognito. As Herzberg noticed, this scenario leads to employees viewing the job as little more than a paycheck, which is probably all right for companies like Countrywide and IndyMac.

Football Take the flip side: a tiny startup in a dingy office with no windows, crappy benefits, little supervision (because the CEO's on the road making sales), and no company policies (because the CEO's on the road making sales). But the constant rush of learning, being responsible for the company's success or failure (almost single-handedly at times), and believing in the company's future growth makes this job much more desirable for many developers.
One of my early programming jobs was for a web consulting startup during the dot-com boom. There were 7 of us (we grew to 17 during the height of the boom) shooting each other with water pistols, throwing Nerf footballs around the office, and cranking out insane amounts of caffeine-driven code. We learned a new language every project and were always on the cutting edge.
I remember thinking that a company across town could have offered me a $15,000 dollar raise and I wouldn't have taken it. The motivation factors were overpowering.
On the flip side, the benefits were terrible, the office was a series of tiny cubicles, gray from years of neglect - Smurf-blue network cables hung from the ceiling, and supervision was...well...non-existent. And although hygiene factors were lacking, developers flocked to work for this company and only one left while I was there. She was interested in a more stable work environment and better benefits, and went to work for a large financial institution much like IndyMac.

Rob's Criteria for Keeping Your Developers Happy
If you want to collect a paycheck for 25 years and retire with a gold watch and a pension then go for companies that have the hygiene factors nailed. Stroll in at 8, head for the door at 4:59, and count the years until you're kicking up your feet on a beach bar in Costa Rica.

Big Building But if you're reading this, odds are that you aren't the kind of person who never thinks about code after 5:01; you're more likely to have a collection of DVDs that come up in an Amazon search for "Silicon Valley." You're probably one of those people who needs motivation factors or you go crazy with restlessness, and when the motivation factors are in place you'll work ridiculous hours for low pay just because it's so damn fun.
I talked to a dozen colleagues and pored over my own experiences to arrive at this list of nine software development motivation factors - Rob's Criteria for Keeping Your Developers Happy.
There's only one rule when determining your score: your vote doesn't count unless you're a developer. If you're not in the trenches writing code then forward this article to someone who does and ask for their opinion. In addition to keeping management from making an unfair assessment, my greater hope is that this inspires conversation and forces management and developers to talk about these issues so we can get them out in the open.
Without further ado, here they are:
1. Being Set Up to Succeed
It's a sad reality, but most software projects are set up to fail. Every developer has their horror stories; the "anti-patterns" of software project management.

I've seen an architect given documentation for a legacy system that he pored over for week while designing a new interface for the product. After the design was complete he found out that the documentation was three years old and didn't reflect several major changes the system.

I've spent hours preparing a detailed technical estimate only to be told that the real deadline, already set by product development, gives me half the time I need.
Realistic deadlines are a huge part of being set up to succeed. Developers want to build software that not only works, but is maintainable; something they can take pride in. This is not in-line with product development's goals, which are for developers to build software that works, and nothing more.
The first thing to go when time is tight is quality and maintainability. Being forced to build crap is one of the worst things you can do to a craftsman. Delivering a project on-time but knowing it's a piece of crap feels a heck of a lot like failure to someone who takes pride in what they build.
Wheat
It's critical to have buy-in to do things the right way, and not just the quick way. As one developer I talked to put it "Quality is as important as feature count and budget."
Schedule is not the only way a project can be set up to fail, but it is the most common. Others include: being forced to use cheap tools (be it software or hardware), working with a partner who doesn't deliver, bad project management (see #2, below), changing scope, and unspoken expectations, among others.
2. Having Excellent Management
Excellent management, both for projects and people, is a must-have motivation factor. This means no micro-managing, the encouragement of independent thinking, knowing what it takes to build quality software, quick decision making, and a willingness to take a bullet for the team when product development tries to shorten the schedule
These are the traits of an amazing software manager; the traits of a manager whose team would bathe in boiling oil to defend her, and work all-nighters to prove her right. When a manager takes bullets for the team, good developers tend to return the favor and then some. It creates an almost cult-ish loyalty, and the results are not only motivated developers, but insanely good software.

3. Learning New Things
Behavioral research indicates we're happiest when we're learning new skills or challenging old ones. A recent article cites a study by two University of Columbia researchers suggesting that workers would be happy to forgo as much as a 20% raise if it meant a job with more variety or one that required more skill. This research suggests that we are willing to be paid less for work that's interesting, fun, and teaches us new skills.

This is why companies using Ruby can find experienced programmers willing to work for less than their typical salaries. The learning factor is huge when it comes to negotiating compensation.

Every developer I know loves playing with flashy new technologies. It was Perl and HTML in the mid-90s, ASP, PHP and Java in the late-90s, ASP.NET and XML a few years ago, and today it's AJAX and Ruby (and in some circles ASP.NET 2.0). Give someone a chance to use these toys and they'll not only be able to impress their friends, but fulfill that piece inside of them that needs to learn.

Keep a developer learning and they'll be happy working in a windowless basement eating stale food pushed through a slot in the door. And they'll never ask for a raise.

4. Exercising Creativity and Solving the Right Kind of Problems
Developers love a challenge. Without them we get bored, our minds wander, we balance our checkbook, check our email, hit Digg and Slashdot, read a few blogs, hit the water cooler, and see if any of our friends are online so we can once and for all settle the debate surrounding your uncle, the IDisposable interface, and that piece of toast shaped like the Virgin Mary.

Droplets

I've watched developers on multiple occasions stay up until sunrise to solve a technical problem without being asked and without extra pay. The best developers are addicted to problem solving. Just drop a Sudoku in the middle of a group and watch them attack it.

Faced with the right type of challenge many developers will not stop until it's fixed, especially if it requires a particularly creative solution. Faced with the wrong type of challenge and they're back on instant messenger describing the toast.

The right type of challenge is a technical challenge that teaches a new skill, preferably one everyone's talking about. One example could be: "Consume these five RSS feeds, aggregate the data, and display the headlines on a web page...and figure out how to use AJAX to make it cool."

The wrong types of challenges are things like: "Fix that other guy's code. You know, the one we didn't fire because we were afraid he might cause problems. Well, he wrote a really crappy system and now we need to fix it and make it high-quality and maintainable. Oh, and you have until tomorrow."

If your business doesn't provide challenging work to developers, figure out how you can start. If there is no chance you'll ever be able to provide challenging work, find developers who are into hygiene factors, because developers who need motivation factors won't stay long.
5. Having a Voice
Developers are in the trenches, and they're the first ones to know when a system or process is not working. One developer I spoke with told me:
"[I want] someone to listen to my problems and actually take them seriously. I've worked at a few places where more RAM, more hard disk space, or faster/dual CPUs were simply not a priority for the company, but it was incredibly aggravating to the point of impeding my work. At one place I worked, every time I wanted to compile the software I had to clear all my temporary files because I needed more disk space. Talk about asinine. Being forced to work using outdated technology is really frustrating."
Speaker

When a developer speaks, someone should listen. When several developers are saying the same thing, someone should listen and act...quickly.

6. Being Recognized for Hard Work
As engineers we love building things that impress ourselves and our friends. At least the ones who realize how hard it is to write a Perl compiler. From scratch. In FORTRAN. On a Vic 20.

Building something great is fun, but it's much more fun when someone's there to pat you on the back, throw you a party, sing your praises, or buy you a steak dinner. Most developers enjoy hearing praise and receiving recognition for hard work, but even the ones who don't need it are somehow soured when they don't receive it (or worse yet, someone else receives recognition for your work).

Recognition is one of Herzberg's core motivation factors and it applies to software developers as much as the engineers originally interviewed.

7. Building Something that Matters
Even though we're not medics in Bosnia or food carriers in Sudan, most people want to feel like we're somehow doing our part to make the world a better place, both technologically and socially. Some of us might think we do it just for the sake of technology, but in the back of our minds we see ourselves as part of a grand scheme.

For instance, a friend of mine works for a financial company and cherishes every time they launch a product that helps the under-served financial community.

An Albertsons inventory system developer enjoys coming to work every day because his work ensures, via complex supply and demand algorithms, that the baby cereals are always available on the shelves.

Building something that matters makes an L.A. Times software engineer ecstatic that the trucks are now saving over 30% of their mileage and fuel costs due to his shortest path finding software implementation for newspaper delivery.

On the other hand, writing an interface to a buggy API that'll be used a total of 15 times in the next year doesn't seem like it matters much.

Copying and pasting an entire application and changing a bunch of labels isn't as exciting as it might sound.

And hacking in a few more case statements in a ridiculously complex stored procedure in order to service yet another customer without creating a proper data structure somehow doesn't seem to fulfill that part of us that wants to build something that matters.

Library

8. Building Software without an Act of Congress
I was a contractor for three years starting in 2001, and during that time I built a ton of web applications. Since much of my development was off-site I became accustomed to writing software really quickly once we knew what to build. Another developer and I built insane amounts of software over the course of two years.

When I got my next full-time job it felt like I was dragging 50-pound weights. For every page I wanted to build I had to call a meeting with six people. Any change to the database required three approvals. It was nuts, and applications took 5x longer to build. Talk about frustrating.

The authority to make project decisions without calling a meeting is huge.

9. Having Few Legacy Constraints
No one likes developing against buggy interfaces, crappy code, and poorly-designed data models. Too many legacy constraints kill creativity, require an act of congress to modify, and generally sucks the fun out of building software (see several of the previous points for why this is bad).

If you have gobs of legacy liability, try to figure out a way to minimize its impact on future development. If you can't, look for people who value hygiene factors, because motivation factor developers are not going to maintain the same poor-quality applications for very long.

Determining Your Score
Let's face it, the bar has been set pretty low when it comes to motivating developers. How many companies can you think of that would score even as high as a 3?

Since this test hasn't been administered to companies across the globe there's no basis for comparison, but that's where you come in. I'd like to do an informal survey so we can get an idea of how things are in the real world. Please post your company's score in the comments (you don't have to post the company name).

Most large companies I can think of would be lucky to score a 1. Google would probably score an 8 or a 9.

Wrap Up
If you're a manager, when was the last time you asked your developers about these issues? If you're a developer, when was the last time you respectfully raised one of these issues, providing examples and a possible solution?

If the answer is "a long time ago" then you have some work to do. Send this article to a few of your colleagues and start discussing how to enact change.

12.22.2006

How to Sync Google Calendar with Outlook and Smartphones Automatically

take from...(click here)

My big complaint about Google Calendar was lack of support for easily syncing calendar data with my smartphone. I use Outlook for my personal information management because it's still the only thing that puts all my data in one place the way I want it. Google Calendar's iCal export made manual syncing with Outlook possible, but I want to get all my calendar data from my computer to my phone automatically. RemoteCalendars solves this problem, making ongoing data sync simple after a convoluted setup process.

Here's how you can sync your Google Calendar with Outlook 2003 or 2007 and automatically sync to your phone in the process.

1) Download RemoteCalendars and unzip the files.

2) Install RemoteCalendar - normally installation is a piece of cake, this is where it gets potentially confusing.

  • Close Microsoft Outlook
  • Install NET Framework 2.0 unless you already have it.
  • In the Prerequisites folder of your RemoteCalendar install, unpack the O2003PIA.EXE files and install O2003PIA.MSI.
  • Install vstor.exe, also in the Prerequisites folder
  • Install RemoteCalendarsVSTOSetup.msi from the main RemoteCalendar folder.

      3) Launch Outlook - You should now have a toolbar in Outlook that looks like this:

      4) Click the Options button on the toolbar to bring up the menu options. Set the timezone to your timezone so that all items stay in sync. Optionally check the Automatic Update box.

      5) Click the Subscribe a RemoteCalendar button to add your Google Calendar to Outlook.

      6) Copy the iCal URL for your calendar's Private Address on the Calendar Settings page.

      7) Put the iCal URL in the Remote Calendar's URL box, add the calendar name and check the box next to it's my Google Calendar and I want to sync both ways

      8) Input the username and password for your Google Calendar when prompted.

      Items added to your Google Calendar will now automatically appear in your Outlook calendar and sync with your phone based on your sync preferences.

12.21.2006

CODEGENERATOR LIST

http://davidhayden.com/blog/dave/category/15.aspx?Show=All

http://www.hkvstore.com/aspnetmaker/

http://forum.aspitalia.com/forum/post/278586/Code-Generators.aspx

http://weblogs.asp.net/fbouma/archive/2005/10/25/428357.aspx

VISTA VERSION

Ecco riassunte in una comoda tabella le differenze tra le varie versioni di Windows Vista:

Edizione Home Basic Home Premium Business Enterprise Ultimate

Prezzo, in dollari $199 $239 $299 Su licenza $399

Prezzo dell'aggiornamento, in dollari $99 $159 $199 Su licenza $259

Interfaccia Aero No

User Account Control (UAC)

Windows Firewall/Defender

IE7

Ricerca istantanea

RAM massima (32bit) 4GB 4GB 4GB 4GB 4GB

RAM massima (64bit) 8GB 16GB 128GB 128GB 128GB

Core supportati Senza limiti Senza limiti Senza limiti Senza limiti Senza limiti
CPU reali supportate 1 2 2 2 2

Backup e ripristino
Backup schedulati No

Volume Shadow Copy (cos'è) No No

BitLocker (cos'è) No No No

SuperFetch (cos'è)

Giochi "Premium" No

Media Player 11

Photo Gallery

Media Center No No No

Windows Movie Maker No No No

Masterizzazione DVD No No No

Remote Desktop Con limitazioni Con limitazioni

Files offline No No

Webserver IIS No No

Meeting Space Con limitazioni

Rights Management Services (cos'è) No No

Funzionalità Tablet PC No

SideShow No

Riconoscimento vocale

Fax e Scan No No

Extra per Vista Ultimate No No No No

12.17.2006

How can I write ISO files to CD?

ISO files are actually images of complete CDs compiles as one whole image, just like Ghost does for hard disks and partitions. ISO images can be loaded into several different CD recording software packages to create CDs.

ISO Recorder Power Toy (Freeware)

ISO Recorder is a Windows XP freeware utility that uses native Windows XP functions to write images to a CD. You can download this utility from the author’s Web page. When the program is installed, it is automatically associated with the ISO file extension in Windows Explorer.

For more information about this utility, visit the author’s Web page at http://isorecorder.alexfeinman.com/isorecorder.htm

Steps to create a CD if you have installed ISO Recorder Power Toy:

  1. Download the ISO CD image to a folder on your computer.

  2. Insert a blank CD in your CD-RW drive.

  3. Start Windows Explorer.

  4. Locate the ISO file, right-click the file name, and then click Copy image to CD to open the ISO Recorder Wizard.

  1. Follow the steps in the wizard to write the image to the CD.

Another alternate method:

  1. You can also right-click your CD-R drive and choose Copy Image to CD.

  1. In the new window browse to the ISO file and click Next.

Reader comment: Reader Ori Artman adds his small useful tip:

"Small and maybe valuable tip for the ‘How can I write ISO files to CD?’ tip. This power tool works only on files with ISO extension. There’re some ISO files with IMG extension (notably MSDN’s distribution files). Change the extension to .ISO and this power tool will work as advertised.
There maybe other file formats that are ISO format and are called something else…"

Thanks!

Nero - Burning ROM (Ahead Software)

You can use Nero Burning ROM to record a CD from an ISO file. You must purchase this program from Ahead Software. For more information about this program, visit the Ahead Software Web site at: http://www.nero.com

Steps to create a CD if you have installed Nero - Burning ROM:

  1. Download the ISO CD image to a folder on your computer.

  2. Insert a blank CD in your CD-RW drive.

  3. Start Nero Burning.

  4. Follow the wizard steps to select Data CD creation.

  5. When the wizard closes, click Burn Image on the File menu.

  6. In the Open dialog box, select the ISO file, and then click Open.

  7. In the wizard, click Burn to write the image to the CD.

EasyCD Creator (Roxio)

You can use EasyCD Creator to create a CD from an ISO file. You must purchase this program from Roxio. When the program is installed, it is automatically associated with the ISO file extension in Windows Explorer. For more information about this program, visit the Roxio Web site at: http://www.roxio.com

Steps to create a CD if you have installed EasyCD Creator:

  1. Download the ISO CD image to a folder on your computer.

  2. Insert a blank CD in your CD-RW drive.

  3. Start Windows Explorer.

  4. Locate the ISO file, right-click the file name, and then click Open to start EasyCD.

  5. In the Write Method section of the CD Creation Setup dialog box, click Disk at Once for optimum recording performance.

  6. Click OK to write the image to the CD.

CDBurn.exe from the XP Support Tools

You can use CDBurn.exe that is included in the Windows Server 2003 Support Tools (read Download Windows 2003 Reskit Tools for more info).

ISO CD-ROM Burner Tool (CDBurn) is a command-line tool that allows the user to write (burn) data images from image files located on the hard drive to compact disc (CD) recordable (CD-R) and CD rewritable (CD-RW) media. The data image can be any kind of data, even raw data. This tool can also be used to erase CD-RW media.

Example: Burn a CD From an Image File When a Drive Letter is Assigned to the CD Burner. Type the following at the command line:

cdburn.exe d: c:\dotnet_usa_3678.IDS_x86fre_srv.iso

Press ENTER. Output similar to the following is displayed:

Number of blocks in ISO image is 3d1d6
| 25.6% done
/ 45.2% done
/ 55.3% done
- 68.9% done
\ 89.3% done
- 100.0% done
Finished Writing
Synchronizing Cache: burn successful!

Notes: The drive letter assigned to the burner in this example is D and the image file being written is located at c:\dotnet_usa_3678.IDS_x86fre_srv.iso

The default burn speed for this tool is 4x. The maximum burn speed is limited by the maximum speed of the burner. Use the speed parameter to set the burn speed. The max parameter sets the burn speed of the CD burner to maximum.

12.14.2006

SPLIT FILE !

http://www.freebyte.com/hjsplit/#win32

Very nice looking freeware file splitter (screenshot). It splits files of any type and size. Does not need to be installed. Just click on hjsplit.exe and the program starts. This program can even handle files which are larger than 10Gb!

WALLPAPER ! GTD

http://www.downloadblog.it/post/3019/getting-things-done-lo-schema-sempre-sottocchio

ELENA!

http://www.flickr.com/photos/elelfa/321651455/

12.11.2006

Adding a dynamic control to a placeholder control and wire up the event.

From Kris'Blog

Most controls are just drag & dropped on a webform or handcoded by a developer in the source view of the document. Although these controls can display dynamic data, for example coming from a database, the controls on the webform themselves remain static. In some scenario's however you want dynamically added controls. For example if a certain authenticated user views the page you want to show more information, or depending on a certain choice you want to load a Repeater control with data or a DateTime control. In this article I instantiate a RadioButtonList control, add it to a PlaceHolder control and wire up the SelectedIndexChanged event of the RadioButtonList instance. Listing 1 shows the C# version and Listing 2 the VB.NET version. Either version is equivalent and it's quite easy to compare both of the code snippets since both have the same equivalent code on the same line.

12.04.2006

THE DUDE

The Dude network monitor is a new application by MikroTik which can dramatically improve the way you manage your network enviroment. It will automatically scan all devices within specified subnets, draw and layout a map of your networks, monitor services of your devices and alert you in case some service has problems.

http://www.mikrotik.com/thedude.php

PUBLISHING TERMINAL SERVER ON ISA 2000 FOR REMOTE CONTROL

Sommario

In questo articolo viene descritto come pubblicare su server un terminal server che esegue Windows 2000 su una Intranet privata su Internet tramite Internet Security and Acceleration Server (ISA), quando il server ISA esegue anche Terminal Server in modalità applicazione o amministrazione remota. Per ulteriori informazioni su come accedere a Servizi Terminal sul server ISA, senza pubblicare altri server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):

275210 (http://support.microsoft.com/kb/275210/) How to Allow Access to Terminal Services on ISA

In questo articolo vengono affrontati i metodi per pubblicare su server un server terminal quando si hanno più indirizzi IP associati all'interfaccia esterna del server ISA.
Al termine dell'articolo viene presentata una breve discussione su come pubblicare server terminal in presenza di un unico indirizzo IP esterno disponibile. In tale situazione sarà tuttavia possibile utilizzare il client TSAC (Terminal Services Advanced Client) basato sul Web.
Esistono altre opzioni che offrono agli utenti accesso al server terminal sulla LAN, che non verranno tuttavia affrontate in questo articolo, ad esempio l'impiego di connessioni RAS (Remote Access Service) e VPN (Virtual Private Network) alla rete privata.

Torna all'inizio
Torna all'inizio

Informazioni

Se Servizi terminal è installato su un server ISA multihomed (installato per impostazione predefinita su Small Business Server (SBS) 2000 e Back Office Server (BOS) 2000 e facoltativamente su Windows 2000 Server), tale server terminal ascolterà per impostazione predefinita tutte le interfacce di rete.
Questo significa che ogni richiesta per un server terminal che accede all'interfaccia esterna del server ISA verrà servita da Servizi terminal eseguito sul server ISA.
Per poter pubblicare sul server un server terminal basato su Windows 2000 in una Intranet privata su Internet utilizzando Internet Security and Acceleration Server (ISA), quando Servizi terminal è eseguito anche dal server ISA, attenersi alla procedura descritta di seguito.

Torna all'inizio
Torna all'inizio

Passaggio 1: Creare una definizione di protocollo
Per creare una definizione di protocollo, attenersi alla procedura descritta di seguito.

1.
Fare clic sul pulsante Start, scegliere Programmi, Microsoft ISA Server, quindi fare clic per aprire la console ISA Management.

2.
Fare clic per espandere Servers and Arrays, espandere l'array e quindi Policy Elements.

3.
Fare clic con il pulsante destro del mouse su Protocol Definitions, scegliere New, quindi Definition.

4.
Assegnare un nome alla definizione, ad esempio "Server terminal in ingresso" e scegliere Next.

5.
Nella casella Port digitare 3389, in Protocol type selezionare TCP, nella casella Direction selezionare Inbound, quindi scegliere Next.

6.
In Secondary Connections specificare No, scegliere Next, quindi Finish.

Torna all'inizio
Torna all'inizio

Passaggio 2: Pubblicare il server terminal
Per pubblicare il server terminal, attenersi alla procedura descritta di seguito.

1.
Nella console ISA Management fare clic su Publishing, fare clic con il pulsante destro del mouse su Server Publishing Rules, quindi scegliere New Rule.

2.
Assegnare un nome a questa regola, ad esempio "Pubblicazione server terminal in ingresso" e scegliere Next.

3.
Nel campo IP address of internal server immettere l'indirizzo IP del server interno. Se si desidera che questa regola consenta al terminal server di accedere al server ISA, digitarne l'indirizzo IP interno. Se questo fa riferimento a un altro computer dietro al server ISA sulla LAN, digitare l'indirizzo IP di tale computer.

4.
Nel campo External IP address on ISA Server digitare l'indirizzo IP esterno del server ISA che verrà utilizzato da questa regola di pubblicazione, quindi scegliere Next.

5.
In Protocol Settings nel campo Apply the rule to this protocol fare clic sulla definizione di protocollo Server terminal in ingresso creata in precedenza e scegliere Next.

6.
Fare clic sul tipo di client a cui questa richiesta si applica, ad esempio Any Request, scegliere Next e Finish.

7.
Ripetere questo passaggio per ciascuno dei server interni che si desidera pubblicare, utilizzando un indirizzo IP interno ed esterno univoco per ogni regola.

8.
Se il server terminal si trova sullo stesso segmento dell'interfaccia interna del server ISA, il gateway predefinito sul server terminal deve puntare all'interfaccia interna del server ISA. Se il server terminal si trova su un segmento remoto dall'interfaccia interna del server ISA, il server ISA dovrà essere un edge router verso Internet. Se il server ISA non è un edge router, ovvero tutto il traffico verso Internet scorre tramite il server ISA, sarà necessario aggiungere route specifiche ai router in modo che il server terminal possa indirizzare i pacchetti al server ISA e a Internet.

Torna all'inizio
Torna all'inizio

Passaggio 3: Associare Servizi terminal eseguito sul server ISA alla scheda interna sul server
Per associare Servizi terminal eseguito sul server ISA alla scheda interna sul server, attenersi alla seguente procedura:

1.
Fare clic sul pulsante Start, scegliere Programmi, Strumenti di amministrazione e infine Configurazione Servizi terminal.

2.
Fare clic sulla cartella Connessioni e fare clic sulla connessione RDP-TCP.

3.
Fare clic con il pulsante destro del mouse su questa connessione e scegliere Proprietà.

4.
Fare clic sulla scheda Scheda di rete e fare clic per selezionare la scheda di rete interna nella casella Scheda di rete.

NOTA: per impostazione predefinita, Servizi terminal si associa a tutte le schede di rete configurate con questo protocollo. Pertanto sarà necessario impostarlo specificatamente per la scheda interna.
Se è disponibile un unico indirizzo IP sull'interfaccia esterna del server ISA, sarà comunque possibile accedere a più server terminal sulla LAN utilizzando il Client di Servizi terminal, ma non il client TSAC. Sarà necessario cambiare la porta su cui il server terminal è in ascolto, quindi creare regole di protocollo e regole di pubblicazione per tale server su tale porta. Per ulteriori informazioni su come cambiare la porta di ascolto di un server terminal, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):

187623 (http://support.microsoft.com/kb/187623/) How to Change Terminal Server's Listening Port

Quando si utilizza il client TSCA (Terminal Server Advanced Client) basato sul Web, è necessario andare sul server Web che esegue il pacchetto TSAC all'indirizzo Web Microsoft riportato di seguito e specificare l'indirizzo IP o il nome DNS del server terminal (informazioni in lingua inglese):

http://server/tsweb (http://server/tsweb)

12.03.2006

LinuTop

Linutop is a Linux-based diskless computer. It offers a completely silent, low-power operation in an extremely small package.

http://www.linutop.com/index.htm

Open Mind,Open Source

http://www.gp2x.com/

a powerful personal Entertainment Player GP2X

11.29.2006

Omosessualita' cosa ci vuoi far ?

mai prendere l'omosessualita' sottogamba