-
[Spanish] Arquitecturas de presentación
El jueves pasado estuvimos en la UTN Rosario (Santa Fe, Argentina) con Diego Gonzalez dando dos charlas sobre diseño de interacción y arquitectura en la capa de presentación.
En este link pueden descargar el material.
Quiero agradecer a la gente que asistió, a la UTN Rosario, y en especial al MUG y Oscar Turquet por organizar la jornada
P.D.: Este jueves voy a estar en Resistencia (Chaco, Argentina) invitado por el MUG para dar una charla sobre C# 4.0 en las Jornadas Universitarias de TI asi que espero ver a todos los de la zona!
Technorati tags: .NET, Windows Presentation Foundation, ASP.NET MVC
-
POP3.NET Library Update
POP3.NET library. The error causes the RetrieveHeaders method fails in some servers.
The updated versions are available for download here.
Technorati tags: .NET
-
[Spanish] RUN 09
El miércoles pasado tuve el honor de ser orador en el RUN 09. El evento estuvo magnifico, me encontré con muchos buenos amigos, y pasamos la tarde hablando de tecnología. La charla que di junto a mi amigo Carlos Walzer sobre Arquitecturas de presentación con WPF y Silverlight (en especial como aplicar el patron Model-View-ViewModel) salió muy bien. Aquí pueden descargar el material. Estos son algunos link donde pueden obtener más información:
John Gossman's Introduction to Model/View/ViewModel
Fowler's Presentation Model
WPF Patterns
Muchas gracias a todos los que asistieron, y en especial...
-
Windows Day: Programming LOB Application with Silverlight
Here you can download the presentation (in Spanish) and samples of the webcast about LOB Applications and Silverlight that I did last week in the Windows Day together with friend Martin Salias.
Technorati tags: .NET, Silverlight
-
Web Service Dynamic Proxy Update
Today I solved a bug that prevented use of customs types as arguments of generic types in contratcs of a web services who are called with proxy generated with Web Service Dynamic Proxy.
Thanks to Gabriel Almiñana
Download the fix from here.
Technorati tags: .NET, Web Services, Windows Communication Fondation, ASMX
-
WS-Compression for WSE 3 Update 3
Hakan Lindestaf has updated the code of WS-Compression for WSE 3 to be compatible with WS-Compression for WCF.
The updated version are available for download here.
Thank Hakan!
Technorati tags: .NET, Web Services, WSE
-
Materials of Voice User Interfaces Conference
Here you can download the presentation and samples (in spanish) of the conference about Voice User Interfaces (AKA "Speech Recognition, the final frontier") that I did in the CodeCamp together with Zaiden.
Thanks to everyone who attended to this event.
Zaiden and Me
Zaiden controlling the Star Trek Bridge Commander Game with him KeySimulator - VoiceCommander software
Technorati tags: .NET, Speech Recognition
-
Generic List support in Web Service Dynamic Proxy
Today I add support for Generic Lists in Web Service Dynamic Proxy
Download the code and a sample of use from here.
Technorati tags: .NET, Web Services, Windows Communication Fondation, ASMX
-
POP3.NET
Recently I needed to retrieve messages from POP3 server but I could not find any .NET Open Source library for this task. For this reason I developed my own library (based in the POP3 code used in WCF Mail Transport) and now I share it with the community.
Download the code and a sample of use from here.
Technorati tags: .NET
-
New home page for Cat Programming Language
Christopher Diggins the author of the Cat, a great functional stack-based programming language, informs me that the Cat home page is now at http://www.cat-language.com and the latest interpreter and source code is available (as public domain code) through Google code host http://code.google.com/p/cat-language/downloads/list
Thanks Christopher!
Technorati tags: .NET, Functional Programming, Compilers
-
Materials of Office Applications Online conference
Here you can download the presentation and videos (in spanish) of the online conference about Office Business Applications that I did in the last MSDN Online briefing together with Diego Gonzalez.
Technorati tags: .NET, Office Business Applications
-
Materials of Dynamic Languages conference
Here you can download the presentation and samples (in spanish) of the talk "Present and future of Dynamic Languages" ("Presente y futuro de los Lenguajes Dinámicos") that I did in Microsoft Argentina HQ together with Martín Salías.
Thanks to everyone who attended to this event.
Technorati tags: .NET, Dynamic Languages, Dynamic Language Runtime
-
Materials of Advance Windows Communication Foundation Conference
Here you can download the presentation and samples (in spanish) of the conference "Advance Windows Communication Foundation" ("Windows Communication Foundation Avanzado") that I did in Microsoft Argentina HQ together with Diego Gonzalez and Javier Arguello.
The best of this presentation:
The summary of what properties you must be use in each type of behavior (by DiegoG)
The solution for retrieve the entire WCF configuration from a centralizated database catalog (by Me)
The technique for host WCF services in IIS without create .svc files (by Me)
The didactic...
-
Silverlight article in .CODE magazine
Together with Ariel Neisen, Soledad Pano and Federico Garcia I wrote a front page article about Silverlight in this month's number of .CODE magazine.
The bad news are that is the last number of this excelent magazine. I hope that this is an only slow break and soon becomes publish again.
Technorati tags: .NET, Silverlight
-
Certificate Access Error in a IIS hosted WCF service
My coleague at Lagash Mariano Sanchez has started his own Blog. Your first article is about a tricky error when a WCF service hosted in an IIS tries to load a certificate from the Windows Certificates Store with the account of the Application Pool.
Technorati tags: .NET, Windows Communication Foundation
-
Materials of the MSDN Briefing Silverlight conference
Here is the code and presentation of my talk about Silverlight in the last MSDN Briefing Argentina. Thanks to everyone who attended to this event, and especially to Ernesto Golomb, Maria Fernanda Perez Marino, Maria Belén Lescá and Ezequiel Glinsky for organize it.
Technorati tags: .NET, Silverlight
-
Advance .NET Debugging Part 2
The second part of my article about on advanced debugging in .NET has been published in number 19 of Microsoft LATAM Architect Newsletter. This second part is an introduction to the diagnosis of memory problems.
You can read the article here.
Technorati tags: .NET, Debugging
-
Materials of Introduction to Application Integration Talk
Here you can download the presentation (in spanish) of the talk "Introduction to application integration" ("Introducción a la integración de aplicaciones") that I did in Microsoft Argentina HQ together with Diego Gonzalez, Rodolfo Reichard and Adrian Lopez.
Technorati tags: .NET, Windows Application Integration, BizTalk
-
WCF Mail Transport Channel
Last week I was learned in deep the WCF channel architecture and how to development a custom transport channel. To put in practice these knowledge I had programmed a transport channel that works over POP3 and SMTP protocols.
This channel is based in the soap.smtp channel that Steve Maine write for WCF Beta 2, and is also based in the UDP transport channel that come in Windows SDK.
Here you can download the channel code and a complete sample of use.
Technorati tags: .NET, Windows Communication Foundation, WCF Extensibility
-
Application Integration conference
The next Thursday I will be speaker (together with Diego Gonzalez, Rodolfo Reichart and Adrian Lopez) in a conference about application integration in several perspectives (data, process, middleware and front-end).
This is the link to register:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032344809&Culture=es-AR
I will talk about application integration in the front-end, from the composition of UI to the integration of applications in zero-touch fashion.
I will also present a Windows Form Control in which I had worked for some time. This control (ExternalApplicationHostControl) allow to execute any Win32 application inside of a .NET Windows Form. Here a preview picture of ExternalApplicationControl running a Notepad an Calculator together inside of...
-
Advance .NET Debugging
In the last edition of the Microsoft LATAM Architect Newsletter I had published an article of advanced debugging in .NET. This article is the first of a serie of three where I will explain advanced concepts of debugging, the use of not very well-known tools (windbg, cordbg, debug diagnostics and others) and much more!.
Here you can read the article.
Technorati tags: .NET, Debugging
-
Interprocess Event Broker
Recently I had had to communicate two applications of different tecnologies (.NET and Visual Basic 6) they executes in the same machine. Between all of communications process techniques that exists (Sockets, Named Pipes, Memory-mapped files, etc.) the Windows API functions FindWindow, SendMessage and WM_COPYDATA message was the best option for this scenario. Using these functions and message I programmed two libraries (.NET and COM version) that allow to communicate two or more applications that execute in the same computer using the Observer pattern.
Download the code and a sample of use from here.
Technorati tags: .NET, Design Patterns
-
Microsoft Live Relay Service
Some days ago Ezequiel Glinsky sended me a link to Microsoft Live Relay Service. From that moment on I fascinated with this new technology that makes possible the communication among Web Services that are behind firewalls or NAT's. It is also very interesting the Mictosoft Live Labs STS, a public Secure Token Service that uses Windows CardSpace.
To get start with this service go to http://relay.labs.live.com/GettingStarted.aspx.
Technorati tags: .NET, Web Services, SOAP
-
Web Services Day 2007
Here you can download the material (in spanish) of the presentations that I did (together with Diego Gonzalez, Jorge Fioranelli, Ezequiel Glinsky, Roberto Schatz and Jose Marcenaro) in the event "Web Service Day 2007".
Thanks to all the architects who attended to the event and specially to Ezequiel and Roberto from Microsoft Argentina for organize it.
Technorati tags: .NET, Web Services, Windows Communication Fondation
-
Web Service Dynamic Proxy
As a part of a web service adapter for Service Invocation Framework I developed a code for dynamic web service proxy generation. Today I have decided to extract this code from Service Invocation Framework and transform it into a small library for call a web service without generate static proxy code.
Download the library code and a sample of use from here.
Enjoy it!
Technorati tags: .NET, Web Services, Windows Communication Fondation, ASMX
-
Service Invocation Framework
Service Invocation Framework RC1 is released!!!.
But what is Service Invocation Framework?, It’s a light-weight framework to speed up SOA implementations. It's is small part of a bigger framework for a project in which I worked with to Sergio Borromei of Microsoft Consulting Services during the last two years, and now, MCS had decided to liberate this work to the community.
Some it's features are:
Transport and protocol agnostic.
Unified programmatic model for service consumption.
Aligned with WCF.
Allows:
...
-
My .NET Development Toolbox Update 2
New additons to my "My .NET Development Toolbox" and "My .NET Development Toolbox Update" lists:
Active Directory Server Explorer
Best Practice Analyzer for ASP.NET
Clipboard Manager Add-In for Visual Studio 2005
CoolCommands 3.0 for Visual Studio 2005
Dispatch
Microsoft Visual Studio 2005 IDE Enhancements
NDbUnit
Visual Studio 2005 Web Deployment Projects
OutlookSpy
Scrum for Team System
Visual Studio...
-
Google Analytics Module
Some months ago Daniel Cazzulino publishes an excellent IHttpModule to use Google Analitycs with adding code in the pages of a web site.
After using it some weeks I found an error that affects the Clearscreen CAPTCHA Antispam Control.
Basically the problem is that the module adds the HTML code necessary to use Google Analytics in responses that are not HTML (like an image).
This is quick fix to this bug:
void OnBeginRequest(object sender, EventArgs e)
{
if ( String.Compare("text/html", application.Response.ContentType, true) == 0
&& ! ( application.Request.QueryString.Count != 0
&& application.Request.QueryString.GetKey(0) == "hip" ) )
application.Response.Filter = new AnalyticsStream(application.Response.Filter, accountNumber);
}
Here you can download a...
-
Mock Data Provider
Many times it is necessary to be able to test each layer of an application individually. This task becomes specially difficult with the data access code and the unit tests since is complex to assure the results of the tests if each developer doesn't have a private database.
To solve this problem I have developed a ADO.NET Data Provider that allows to test the data access code without accessing to the database.
The Mock Data Provider has two operation modes:
In the "recording" mode it acts of Proxy against another ADO.NET Data Provider and it records the results of all the executions against...
-
WS-Compression for WSE 3 Update 2
Kenny Lamoot found a problem in the form in that the size of the message is measured to decide if it is compressed or not based on the configuration of the threshold.
The updated versions are available for download here (WSE 2) and here (WSE 3).
Technorati tags: .NET, Web Services, WSE
-
WS-Compression for WSE 3 Update
Today I upgrade WS-compression for WSE3 with a new constructor in the class CompressionAssertion. This constructor allows to set the compression policy by code without necessity of configuration file. Thanks to Kenny Lamoot for this idea.
Technorati tags: .NET, Web Services, WSE
-
The Cat Programming Language
Looking for implementations of functional languages for .NET Framework I found Cat. Cat is a stack based functional language written by Christopher Diggins.
I like a lot this language implementation since it is an excellent and easy to understand example of construction of an interpreter and compiler for .NET Framework.
Download the Cat source code from here.
UPDATE: Check this post
Technorati tags: .NET, Functional Programming, Compilers
-
WSE 3 Custom Transports Collecion
Today was a boring day :) so only for fun I upgrade a series of WSE 2 custom transports to WSE 3. Besides upgrade them I improve their configuration and add a complete example of use.
These are the transports:
soap.smtp by Steve Maine
soap.udp by Hervey Wilson
soap.sql by Mike Taulty
Download the WSE 3 Custom Transports Collecion here.
Technorati tags: .NET, Web Services, WSE
-
New Version of FileHelpers Library
FileHelpers 1.5.0 has been released. If you need to import/export data from text files in .NET Framework this cool library is the solution.
Technorati tags: .NET
-
Programming in Windows Vista Talk
Next Wednesday I will give a conference about programming in Windows Vista. This is the link to register:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032300546&Culture=es-AR
UPDATE: The talk was postponed for Wednesday 28. Today (26/06) Argentina plays a game in the FIFA World Cup ;).
Technorati tags: .NET, Windows Vista
-
My .NET Development Toolbox Update
Three new additons to my "My .NET Development Toolbox":
Consolas Font Pack for Microsoft Visual Studio 2005
The MSBuild Community Tasks Project
Visual Studio 2005 Web Deployment Projects
UPDATE: More tools here.
Technorati tags: .NET
-
How to obtain the location of All Users Desktop Folder
.NET Framework provides the method System.Environment.GetFolderPath to obtain the location of some special folders. This method uses the enumeration System.Environment.SpecialFolder that doesn't include a member for the All Users Desktop Folder. To find the location of the All Users Desktop folder we need to use the Windows Script Host in the following way:
using IWshRuntimeLibrary;
...
...
...
object allUsersDesktop = "AllUsersDesktop";
WshShell shell = new WshShellClass( );
string shortcutPath = shell.SpecialFolders.Item( ref allUsersDesktop ).ToString( );
To use Windows Scripting Host from Visual Studio .NET right-click on the project name within the Solution Explorer, select 'Add Reference', select the 'COM' tab, find and select the 'Windows Script Host...
-
Programming in Windows Vista - Presentation Materials
Here you can download the material (in spanish) of the talk "Programming in Windows Vista" ("Programando en Windows Vista") that I did in Microsoft Argentina HQ together with Diego Gonzalez. The examples were developed with Vista 5381 and WinFX Febrary CTP.
Technorati tags: .NET, Windows Vista
-
Web Services Day 2006
Here you can download the material (in spanish) of the presentations that I did (together with Diego Gonzalez) in the event "Web Service Day". Thank to Sergio Borromei from Microsoft Consulting Services for his huge collaboration with the Key Note presentation.
Technorati tags: .NET, Web Services, ASMX
-
FileHelpers
Some days ago I found FileHelpers. This excellent piece of code are an easy to use library for import and export data from text files. It is exactly what I was needing for an ETL project. Thanks to their author Marcos Meli for the excelent work.
Technorati tags: .NET
-
Slides and samples of my .Net Application Security talk
Here you can download the material (in spanish) of the talk "How to: Create secure applications" ("How to: Creando Aplicaciones Seguras") that I did in Microsoft Argentina HQ together with Diego Gonzalez and Pablo Cibraro.
Technorati tags: .NET, Information Security
-
My .NET Development Toolbox
This is my list of indispensable tools for the development with .NET:
Aqua Data Studio
CoolCommands for Visual Studio 2005
CruiseControl.NET
DPack
FxCop
NAnt
NCover
NDoc
NMock
NUnit
NUnitAsp
Reflector
Reflector FileDisassembler Add-In
TestDriven.NET
Visual Studio 2005 Code Snippets
...
-
Proxy factory with Dynamic Proxy
In this post Pablo explains how to build a proxy factory similar to FactoryChannel in WCF. Here another implementation using DynamicProxy from Castle Project. The main advantage is that it is not necessary that the parameters of the methods of the interface implement MarshalByRefObject (if the parameters are not value types).
using System;
using Castle.DynamicProxy;
public class MyProxy<T> where T : class
{
public MyProxy( ) { }
public T BuildProxy( )
{
ProxyGenerator generator = new ProxyGenerator( );
object proxy = generator.CreateProxy( typeof( T ), new Interceptor( ), null );
return proxy as T;
}
}
public class Interceptor
{
public object Intercept( IInvocation...
-
.NET Object Query Language
Karmencita is an interesting implementation of an OQL. It is simple but useful and easy-to-use.
Technorati tags: .NET
-
Nini Configuration Library
Looking for something more simple that the Configuration Application Block I found this very good open source library
Technorati tags: .NET
-
Namespace Shell Extensions
Seeking examples about programming of shell extension in .NET I found this framework. It simplifies a lot the programming of a shell extension and is also relatively simple of modifying to add some new functionality (I included it the capacity to show contextual menus without select an object).
Technorati tags: .NET
-
cpSphere Email component
I had been using this excellent component (developed by Kamran M. Qamar) to download messages from POP3 server. It works well but It has a small bug in the method SaveAs of the Attachment class: The files are saved empty. This is the improvement:
public void SaveAs(string path, string fileName)
{
string FullName = path + "\\" + fileName;
FileStream file = new FileStream(FullName, FileMode.Create, FileAccess.ReadWrite);
byte[] buffer = ((MemoryStream)_part.BodyStream).ToArray( );
file.Write( buffer, 0, buffer.Length);
file.Close();
}
Technorati tags: .NET
-
Dispose and not managed resources
Take care when you are using not managed resources in .NET.
For example for not implement a dispose pattern like this a service that I made, it created a lot off memory mapped files and they never closed, causing the memory drained off.
Technorati tags: .NET
-
XPathExpression class in multithreading environment
If you are using the XPathExpression class in a multithread environment, be careful!!! this class isn't thread safe. To use it in multithread environment make sure clone the instance that you are using (with the Clone method) because for example it's a static shared instance.
I hope this post help somebody for not becoming crazy looking for a bug like me!!! ;)
Technorati tags: .NET, XML
-
WS-ReliableMessaging implementation for WSE 2
Some time ago, my friend Andrés and me had worked in a messaging system based on WSE 2. For this project Andrés had to develop the protocol WS-ReliableMessaging. Parts of that implementation was upload to the Plumbwork project, but it was not totally functional and it doesn't contain any example. Today I have upgraded the code with the last fixes and improvements that we have had incorporated these months. It also contains a small example. Download it from here or from Plumbwork.
Technorati tags: .NET, Web Services, WSE
-
WS-Compression Filter
Several months ago, I improved Plumbwork WSE 2 compression filter. Today, I fix other minors bugs in this filter. Download code from here.
Technorati tags: .NET, Web Services, WSE
-
HttpCompress Module and SharpZipLib
Yesterday I was trying to use the compression module blowery.web with the last version of SharpZipLib (0.83.1.0) and the error 'Invalid uses of response filter' took place if configured compresion module with gzip algorithm. After some debug i found that SharpZipLib lasted version writes the headers of the algorithm gzip in the constructor of the class GZipOutputStream and version 0.6.0.0 write headers when invoke GZipOutputStream.Write method. I modified a little the class GZipFilter of the compression module to adapt it to the behavior of the version 0.83.1.0, and to avoid fails. Here is the code.
Technorati tags: .NET