<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12650904</id><updated>2012-02-16T21:19:46.481-05:00</updated><category term='C#'/><category term='Pink Floyd'/><category term='Windows Mobile'/><category term='Visual Studio'/><category term='Apps'/><category term='OLEDB'/><category term='SQL Server'/><category term='Musica'/><category term='Tech'/><category term='EasyMax / AvaQs'/><category term='XML'/><category term='ODBC'/><category term='Compact Framework'/><category term='Windows'/><category term='JSON'/><category term='Apple'/><category term='VFP'/><category term='OSX'/><category term='SciFi'/><category term='.NET'/><category term='ASP.NET'/><title type='text'>VictorEspina Personal Blog</title><subtitle type='html'>VFP, C#.NET, ASP.NET, Música, Cifrados y AppleMania</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12650904.post-793161948044073879</id><published>2012-02-04T14:06:00.001-05:00</published><updated>2012-02-10T15:20:33.164-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><title type='text'>VFP: Un parser para JSON</title><content type='html'>&lt;br /&gt;Para los que, como yo, nunca hayan escuchado hablar de JSON, se trata de una tecnologia ampliamente usada en la web para el intercambio de datos entre sistemas desconectados. Básicamente es lenguaje muy simple que permite definir objetos y su contenido. Los parsers JSON hacen dos cosas:&lt;br /&gt;&lt;br /&gt;a) Toman una referencia a un objeto (normalmente JavaScript) y genera una representación JSON en forma de string&lt;br /&gt;b) Toman un string JSON y devuelve el objeto original&lt;br /&gt;&lt;br /&gt;A pesar que en el sitio JSON.org se pueden encontrar dos parsers JSON para VFP, decidi hacer mi propio parser usando solo código VFP y, de paso, incluyendo un par de mejoras al estilo fox.&lt;br /&gt;&lt;br /&gt;La mejor de estas adiciones es lo que llame "schema". Un schema es basicamente una forma de definir uns estructura de datos reutilizable, al estilo de la construcción STRUCT en C# (pero sin la posibilidad de incluir metodos).&lt;br /&gt;&lt;br /&gt;Por ejemplo, para definir el schema "User":&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;JSON.declareSchema("User","{loginName:string, fullName: string, profileId: numeric, active: boolean}")&lt;/pre&gt;&lt;br /&gt;Luego, cuando queremos trabajar con un objeto que represente un usuario, solo hacemos:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;oUser = JSONObject("schema:User")&lt;br /&gt;oUser.loginName = 'vespina'&lt;br /&gt;oUser.fullName = 'Victor Espina'&lt;br /&gt;oUser.profileId = 25&lt;br /&gt;oUser.active = .T.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Supongamos ahora que queremos almacenar los datos del usuario que modifico un registro. Con JSON podriamos hacerlo asi:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;SELECT clientes&lt;br /&gt;REPLACE rowLastUpd WITH DATETIME(),;&lt;br /&gt;        rowUpdBy   WITH oUser.ToJSON()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Luego, cuando queramos mostrar quien modifico el registro, hacemos:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;oUser = JSONObject(clientes.rowUpdBy)&lt;br /&gt;MESSAGEBOX("Este registro fue modificado por " + oUser.fullName)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Otro uso muy comun de JSON es crear objetos sobre la marcha de forma sencilla:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;oPoint = JSONObject("{x:10, y:20}")&lt;br /&gt;?oPoint.x --&amp;gt; 10&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Como ven, las posibilidades son muchas. En la documentacion de la libreria hay multitud de ejemplos de todo lo que se puede hacer con ella.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Descargar &lt;a href="http://www.mediafire.com/download.php?aw2o54t98zzopx9"&gt;qdfoxJSON&lt;/a&gt;&amp;nbsp;(version 1.2 del 10 Feb de 2012).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-793161948044073879?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/793161948044073879/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=793161948044073879' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/793161948044073879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/793161948044073879'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2012/02/para-los-que-como-yo-nunca-hayan.html' title='VFP: Un parser para JSON'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6308520674542911079</id><published>2011-12-02T12:07:00.001-05:00</published><updated>2011-12-02T12:29:56.663-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EasyMax / AvaQs'/><title type='text'>EasyMax: problemas de intercalacion (collation) en SQL Server</title><content type='html'>La librería FASTCALC.LIB utiliza frecuentemente una técnica que consiste en subir un cursor con ciertos datos al servidor en forma de tabla temporal, que luego es usada para filtrar datos específicos de una o mas tablas del sistema.&lt;br /&gt;&lt;br /&gt;Sin embargo, cuando sucede que la BD utiliza un collation distinto al collation configurado en el servidor SQL Server (situación que se presenta típicamente cuando se restaura la BD desde un backup hecho en otro servidor que usaba un collation distinto), se produce un error de intercalación al intentar mezclar en un mismo SELECT los datos de la tabla temporal con datos de las tablas de la BD.&lt;br /&gt;&lt;br /&gt;Aun peor, el problema no se limita a las funciones de FASTCALC.LIB sino que afecta a cualquier rutina que haga uso de las funciones QGetTempName(), QCursor2Temp() y QCloseTemp() de dicha librería.&lt;br /&gt;&lt;br /&gt;El problema se genera en la función QVFP2ODBC(), que es la encargada de tomar un cursor de memoria y subirlo a la BD en forma de tabla temporal. &amp;nbsp;Al hacer esto, las columnas tipo CHAR o VARCHAR son creadas con el collation por omisión del servidor (digamos MODERN_SPANISH), el cual no necesariamente coincide con el collation usado en la BD actual (ej, LATIN_GENERAL).&lt;br /&gt;&lt;br /&gt;La siguiente version de QVFP2ODBC() soluciona este problema instruyendo a SQL Server para que cree las columnas CHAR y VARCHAR de la tabla temporal usando el collation de la BD actual en lugar del collation del servidor, lo cual soluciona el problema al garantizar que tanto la tabla temporal como las tablas relacionadas en la BD actual usan el mismo collation:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp;"&gt;&lt;br /&gt;* QVFP2ODBC (FASTCALC.LIB)&lt;br /&gt;* Toma un cursor de memoria y lo sube a la BD actual utilizando el collation de la BD&lt;br /&gt;*&lt;br /&gt;#DEFPARAM pcCursor,pcTable,poDB&lt;br /&gt;&lt;br /&gt;*-- Se obtienen la estructura del cursor local&lt;br /&gt;*&lt;br /&gt;#defvar aStr,nCount&lt;br /&gt;#dim aStr[1x1]&lt;br /&gt;&lt;br /&gt;#dbselect &amp;pcCursor&lt;br /&gt;nCount:=AFIELDS(aStr)&lt;br /&gt;&lt;br /&gt;#let pcTable:="#"+pcCursor on vartype(pcTable)&lt;&gt;"C" or empty(pcTable)&lt;br /&gt;#let pcTable:="#"+pcTable on left(pcTable,1)&lt;&gt;"#"&lt;br /&gt;#let poDB:=CURDB on Type("poDB.Name")&lt;&gt;"C"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*-- Se crea el comando CREATE para crear la tabla temporal en SQL&lt;br /&gt;*&lt;br /&gt;#defvar i,cSQL,nResult,cSQLDT,cIL&lt;br /&gt;cSQL:="CREATE TABLE "+pcTable+" ("&lt;br /&gt;cIL:="("&lt;br /&gt;#for i:=1 to nCount&lt;br /&gt; cSQLDT:=""&lt;br /&gt; #let cSQLDT:="CHAR("+ALLT(STR(aStr[i,3]))+") COLLATE database_default" on aStr[i,2]="C" and aStr[i,3]&lt;=10&lt;br /&gt; #let cSQLDT:="VARCHAR("+ALLT(STR(aStr[i,3]))+") COLLATE database_default" on aStr[i,2]="C" and aStr[i,3]&gt;10&lt;br /&gt; #let cSQLDT:="NUMERIC("+ALLT(STR(aStr[i,3]))+","+ALLT(STR(aStr[i,4]))+")" on aStr[i,2]="N"&lt;br /&gt; #let cSQLDT:="BIT" on aStr[i,2]="L"&lt;br /&gt; #let cSQLDT:="TEXT COLLATE database_default" on aStr[i,2]="M"&lt;br /&gt; #let cSQLDT:="DATETIME" on aStr[i,2] $ "DT"&lt;br /&gt; #let cSQLDT:="INT" ON aStr[i,2] $ "I"&lt;br /&gt; #IF EMPTY(cSQLDT)&lt;br /&gt;  MESSAGEBOX("Tipo no reconocido: " + aStr[i,2],0,"QVFP2ODBC")&lt;br /&gt; #ENDIF&lt;br /&gt; cSQL:=cSQL + IIF(i&gt;1,",","") + aStr[i,1] + " " + cSQLDT + " NOT NULL"&lt;br /&gt; cIL:=cIL + IIF(i&gt;1,",","") + "?m."+aStr[i,1]&lt;br /&gt;#endfor&lt;br /&gt;cSQL:=cSQL + ")"&lt;br /&gt;cIL:=cIL + ")"&lt;br /&gt;&lt;br /&gt;#defvar nODBCHnd&lt;br /&gt;nODBCHnd:=QGethODBC(poDB)&lt;br /&gt;&lt;br /&gt;*-- Se crea la tabla temporal&lt;br /&gt;nResult:=SQLEXEC(nODBCHnd,cSQL)&lt;br /&gt;#IF nResult &lt; 0&lt;br /&gt; SQLEXEC(nODBCHnd,"DROP TABLE "+pcTable)&lt;br /&gt; nResult:=SQLEXEC(nODBCHnd,cSQL)&lt;br /&gt;#ENDIF&lt;br /&gt;#If nResult &lt; 0&lt;br /&gt; Kernel.Err.Capture()&lt;br /&gt; #return No&lt;br /&gt;#ENDIF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*-- Se carga la data del cursor en la tabla temporal&lt;br /&gt;*&lt;br /&gt;#dbselect &amp;pcCursor&lt;br /&gt;#dbgo top&lt;br /&gt;#dowhile not eof()&lt;br /&gt; #fieldstovars&lt;br /&gt; SQLEXEC(nODBCHnd,"INSERT INTO "+pcTable+" VALUES "+cIL)&lt;br /&gt; #dbskip&lt;br /&gt;#ENDDO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#return Si&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6308520674542911079?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6308520674542911079/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6308520674542911079' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6308520674542911079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6308520674542911079'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/12/la-libreria-fastcalc.html' title='EasyMax: problemas de intercalacion (collation) en SQL Server'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8552232768794647414</id><published>2011-11-18T10:54:00.001-05:00</published><updated>2012-01-26T16:01:08.064-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: Clausula READWRITE para VFP 6</title><content type='html'>Como sabemos, los cursores creados por el comando SELECT INTO en VFP son solo lectura. A partir de VFP 7 se incluyo una clausula llamada READWRITE que nos permite indicar si queremos que el cursor sea de lectura-escritura, lo cual es sumamente útil en infinidad de situaciones.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sin embargo, para los que por algún motivo aun debemos seguir trabajando con versiones anteriores a VFP 7, convertir un cursor a lectura-escritura representa todo un reto. &amp;nbsp;El truco mas usado para lograr esto en VFP 6 es usar la clausula NOFILTER para asegurarnos que VFP creara un cursor fisico temporal, hacer una copia fisica del cursor temporal con otro nombre, cerrar el cursor original y luego abrir el cursor temporal con el nombre original del cursor:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="brush: csharp;"&gt;&lt;br /&gt;SELECT * FROM mitabla INTO CURSOR Q1 NOFILTER&lt;br /&gt;SELECT Q1&lt;br /&gt;COPY FILE (DBF("Q1")) TO ("Q1.TMP")&lt;br /&gt;USE IN Q1&lt;br /&gt;SELECT 0&lt;br /&gt;USE ("Q1.TMP") ALIAS Q1&lt;br /&gt;&lt;/pre&gt;&lt;br/&gt;&lt;div&gt;Pero esta solución dista mucho de ser perfecta, especialmente si el cursor original contaba con columnas cuyo nombre superara los 10 caracteres. En estos casos, el nombre de esas columnas era truncado lo cual causaba molestos problemas con las referencias a esas columnas en el código.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hace un tiempo ayudé a un amigo a encontrar una forma de solventar este problema, y me encontré con que, como siempre, VFP me daba todas las herramientas necesarias para lograrlo; era solo cuestión de ponerlas a trabajar juntas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En este caso, la ayuda llegó de la mano de los &lt;i&gt;arrays&lt;/i&gt;. &amp;nbsp;Yo sabía desde siempre que VFP contaba con una función que tomaba la estructura de un DBF o cursor y la almacenaba en un array. &amp;nbsp;Lo que no sabía es que tanto el comando CREATE CURSOR como INSERT INTO contenían la clausula FROM ARRAY.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El resultado? &amp;nbsp;una función que recibe el nombre de un cursor solo-lectura y lo convierte en lectura-escritura respetando los nombres largos de columna.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aqui les dejo la función por si les resulta útil (NOTA Nov 19: limpié y mejoré un poco el código, ademas de corregir un problema cuando el cursor original estaba vacío).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: csharp;"&gt;&lt;br /&gt;* openForUpdate()&lt;br /&gt;* Función que recibe un cursor de S/L y lo convierte en L/E respetando las columnas con nombres largos&lt;br /&gt;*&lt;br /&gt;* Autor: Victor Espina&lt;br /&gt;*&lt;br /&gt;PROCEDURE openForUpdate(pcCursor)&lt;br /&gt; *&lt;br /&gt; * Obtenemos el schema del cursor&lt;br /&gt; LOCAL ARRAY aSchema[1]&lt;br /&gt; AFIELDS(aSchema, pcCursor)&lt;br /&gt;&lt;br /&gt; * Obtenemos el contenido del cursor&lt;br /&gt; LOCAL ARRAY aRows[1]&lt;br /&gt; LOCAL nRowCount&lt;br /&gt; SELECT * FROM (pcCursor) INTO ARRAY aRows&lt;br /&gt; nRowCount = _TALLY&lt;br /&gt;&lt;br /&gt; * Cerrar el cursor original, lo recreamos como un cursor de L/E&lt;br /&gt; * y lo llenamos con los datos originales (si habia)&lt;br /&gt; SELECT (pcCursor)&lt;br /&gt; USE&lt;br /&gt; CREATE CURSOR (pcCursor) FROM ARRAY aSchema&lt;br /&gt; IF nRowCount &gt; 0 &lt;br /&gt;  INSERT INTO (pcCursor) FROM ARRAY aRows&lt;br /&gt; ENDIF&lt;br /&gt; GO TOP &lt;br /&gt; *&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8552232768794647414?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8552232768794647414/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8552232768794647414' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8552232768794647414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8552232768794647414'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/11/vfp-clausula-readwrite-para-vfp-6.html' title='VFP: Clausula READWRITE para VFP 6'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-613276948016739140</id><published>2011-11-15T11:59:00.001-05:00</published><updated>2012-01-26T16:01:13.904-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: Crear un buffer rapidamente</title><content type='html'>Primero, aclaremos conceptos. Llamo "buffer" a un objeto muy liviano cuya unica&amp;nbsp;función&amp;nbsp;es contener data temporal en forma de propiedades. En muchos sentidos vendria a ser como una versión &lt;i&gt;light&lt;/i&gt; de un STRUCT, solo que sin la posibilidad de incluir métodos; solo propiedades.&lt;br /&gt;&lt;br /&gt;Por ejemplo, si quiero pasar información sobre una persona de un form a otro, me seria muy útil pasar un solo parámetro que contuviera toda la&amp;nbsp;información&amp;nbsp;de esa persona. &amp;nbsp;Una forma de lograr esto es crear una clase "Persona" que contenga las propiedades para almacenar la&amp;nbsp;información&amp;nbsp;sobre una persona, pero muchas veces queremos lograr lo mismo sin la sobrecarga de crear una clase que en si misma no hace nada.&lt;br /&gt;&lt;br /&gt;Ese objeto "temporal" que sirve para almacenar múltiples informaciones relacionadas, es lo que llamo "buffer". &amp;nbsp;La función &lt;b&gt;&lt;i&gt;crearBuffer&lt;/i&gt;&lt;/b&gt; hace justamente eso: crea un buffer con una lista de propiedades dada y, opcionalmente, inicializa esas propiedades con los datos suministrados; todo en una misma&amp;nbsp;instrucción.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;LOCAL oPersona&lt;br /&gt;oPersona = crearBuffer("nombre,apellido,cedula,fechaNac,cargo","Victor","Espina","12345678",{18-11-1970})&lt;br /&gt;&lt;br /&gt;?oPersona.Nombre --&amp;gt; "Victor"&lt;br /&gt;?oPersona.Apellido --&amp;gt; "Espina"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Práctico, cierto? &amp;nbsp;aqui les dejo el código fuente.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;*-- crearBuffer&lt;br /&gt;*   Funcion para crear un buffer de datos e inicializarlo. Compatible con VFP 5 o superior&lt;br /&gt;*&lt;br /&gt;*   Autor: V Espina&lt;br /&gt;*&lt;br /&gt;*   Ejemplo:&lt;br /&gt;*   oBuff = CFDBuffer("Nombre,Apellido","Victor","Espina")&lt;br /&gt;*   ?oBuff.Nombre -&amp;gt; "Victor"&lt;br /&gt;*   ?oBuff.Apellido -&amp;gt; "Espina"&lt;br /&gt;*&lt;br /&gt;PROCEDURE crearBuffer&lt;br /&gt;LPARAMETERS pcItemList,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19&lt;br /&gt; *&lt;br /&gt; LOCAL oBuff,i,cProp&lt;br /&gt; oBuff=CREATEOBJECT("Custom")&lt;br /&gt;&lt;br /&gt; LOCAL cPropName,uPropValue,nCount&lt;br /&gt; LOCAL ARRAY aProps[1]&lt;br /&gt; nCount = ALINES(aProps,STRT(pcItemList,",",CHR(13)+CHR(10)))&lt;br /&gt; FOR i=1 TO MIN(nCount,20)&lt;br /&gt;  cPropName = aProps[i]&lt;br /&gt;  uPropValue = EVALUATE("P" + ALLTRIM(STR(i - 1)))&lt;br /&gt;  oBuff.AddProperty(cPropName, uPropValue)&lt;br /&gt; ENDFOR&lt;br /&gt; &lt;br /&gt; RETURN oBuff&lt;br /&gt; *&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-613276948016739140?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/613276948016739140/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=613276948016739140' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/613276948016739140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/613276948016739140'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/11/vfp-crear-un-buffer-rapidamente.html' title='VFP: Crear un buffer rapidamente'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-4905214830422052620</id><published>2011-11-07T09:38:00.000-05:00</published><updated>2011-12-14T16:35:22.294-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>VFP: Como crear un dll en .NET y usarlo desde VFP</title><content type='html'>&lt;br /&gt;Alguien una vez dijo que no es cuestion de cambiarse de un lenguaje a otro sino de usar la herramienta adecuada al problema que se desea resolver. C# es excelente para muchas cosas en las que VFP no es tan bueno, por lo que el poder crear un DLL en C# y usarlo en VFP se convierte en algo muy poderoso.&lt;br /&gt;&lt;br /&gt;Aqui les dejo todo un conjunto de tips para lograr justamente esto:&lt;br /&gt;&lt;br /&gt;1. En tu clase C# debes incluir el namespace System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;2. La clase que deseas accesar desde VFP debe estar declarada como public y tener estas directivas:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&lt;br /&gt;[ClassInterface(ClassInterfaceType.AutoDual)]&lt;br /&gt;[ProgId("className")]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;donde "className" es el nombre OLE de la clase, es decir, el que usaras en el CREATEOBJECT en VFP.&lt;br /&gt;&lt;br /&gt;3 Los metodos de la clase que quieras accesar desde VFP deben estar declarados como public y no ser estaticos.&lt;br /&gt;&lt;br /&gt;4. Los metodos publicos de la clase no pueden tener sobrecargas, es decir, multiples versiones del mismo metodo con diferentes parametros.&lt;br /&gt;&lt;br /&gt;5. Si un metodo devuelve un tipo estructurado, este tipo debe ser creado como class (no como struct) y cumplir con todas las condiciones indicadas en los puntos 1, 2, 3 y 4.&lt;br /&gt;&lt;br /&gt;6. Si un metodo devuelve un array de cualquier tipo (ej, string[]), VFP lo recibe como un tipo ARRAY y no como un objeto (como lo es en .NET), por lo que no podremos acceder a las propiedaes del array, tal como Lenght, pero si a sus items:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: csharp"&gt;&lt;br /&gt;aItems = myClass.MyMethod()&lt;br /&gt;FOR EACH oItem IN aItems&lt;br /&gt; ?oItem.Property&lt;br /&gt;ENDFOR&lt;br /&gt;&lt;br /&gt;o&lt;br /&gt;&lt;br /&gt;aItems = myClass.MyMethod()&lt;br /&gt;FOR i = 1 TO ALEN(aItems,1)&lt;br /&gt;oItem = aItems[i]&lt;br /&gt; ?oItem.Property&lt;br /&gt;ENDFOR&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;7. Antes de compilar la clase, debes ir a las propiedades del proyecto, Application, boton Assembly Information y marcar la casilla "Make assembly COM-visible"&lt;br/&gt;&lt;br/&gt;8. Una vez compilada la dll, la misma debe ser registrada de la siguiente forma antes de poder ser usada en VFP:&lt;br /&gt;&lt;br /&gt;Windows 32 bits:&lt;br /&gt;C:\WINDOWS\microsoft.net\framework\v2.0.50727\regasm mylib.dll /register /codebase /tlb&lt;br /&gt;&lt;br /&gt;Windows 64 bits&lt;br /&gt;C:\WINDOWS\microsoft.net\framework64\v2.0.50727\regasm mylib.dll /register /codebase /tlb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-4905214830422052620?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/4905214830422052620/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=4905214830422052620' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4905214830422052620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4905214830422052620'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/11/vfp-como-crear-un-dll-en-net-y-usarlo.html' title='VFP: Como crear un dll en .NET y usarlo desde VFP'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-568384147414324786</id><published>2011-10-21T10:01:00.006-05:00</published><updated>2011-11-07T09:37:12.015-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL Server: una forma rapida de crear un IN dinamico</title><content type='html'>Esta es una situación que seguro les ha pasado muchas veces. Tienen un SP que recibe un parametro usado para filtrar sobre una tabla, digamos @status. Normalmente haríamos algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;SELECT * &lt;br /&gt;  FROM tabla&lt;br /&gt; WHERE (@status IS NULL OR status = @status)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Eso nos permitiria filtrar por un status especifico o no filtrar por status, indicando el valor NULL.  Pero luego nos topamos con una situación en la que necesitamos filtrar por DOS valores de status distintos, digamos, registros ACTIVOS y ANULADOS. Obviamente nuestra primera intención es hacer:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;SELECT * &lt;br /&gt;  FROM tabla&lt;br /&gt; WHERE (@status IS NULL OR status IN (@status))&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;lo cual no es una instrucción valida para SQL Server, sin importar lo logico que se vea.  Normalmente la solución a esta situación pasa por la creación de una función que tome un VARCHAR con la lista de valores separados por coma y devuelva un TABLE con los valores ya separados, y luego usamos ese TABLE para hacer un FULL JOIN o un IN (SELECT).&lt;br /&gt;&lt;br /&gt;Pero hoy encontre una solución bien sencilla, usando las desconocidas (al menos para mi) capacidades XML de SQL Server.  La idea, basicamente, es usar la lista de valores para crear un XML y luego usar ese XML como una fuente datos en un IN (SELECT). Aplicando esto al ejemplo que mencionaba al principio, la cosa quedaria asi:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: sql"&gt;&lt;br /&gt;DECLARE @x XML&lt;br /&gt;SET @x = '&lt;j&gt;' + REPLACE( @status, ',', '&lt;/j&gt;&lt;j&gt;') + '&lt;/j&gt;'&lt;br /&gt;&lt;br /&gt;SELECT * &lt;br /&gt;  FROM tabla&lt;br /&gt; WHERE status IN (SELECT x.j.value('.', 'VARCHAR(max)') AS item FROM @x.nodes('//j') x(j))&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Simple, cierto?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-568384147414324786?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/568384147414324786/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=568384147414324786' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/568384147414324786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/568384147414324786'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/10/sql-server-una-forma-rapida-de-crear-un.html' title='SQL Server: una forma rapida de crear un IN dinamico'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1359989947453909054</id><published>2011-10-06T07:13:00.002-05:00</published><updated>2011-11-07T09:37:21.130-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Buen viaje, Steve</title><content type='html'>&lt;a href="http://www.wired.com/images_blogs/epicenter/2011/08/jobs1984.jpg"&gt;&lt;img alt="" border="0" src="http://www.wired.com/images_blogs/epicenter/2011/08/jobs1984.jpg" style="cursor: hand; cursor: pointer; float: left; height: 160px; margin: 0 10px 10px 0; width: 172px;" /&gt;&lt;/a&gt;&lt;br /&gt;Ayer inició su último viaje uno de mis heroes personales. Steve Jobs; su forma de encarar los desafios y su fuerte pasion por el diseño y la funcionalidad, han influenciado mi trabajo y mi forma de hacer las cosas desde que por primera vez tuve la oportunidad de ver de cerca una Macintosh original hace ya mas de 20 años. &lt;br /&gt;&lt;br /&gt;El mundo no fué el mismo desde que Steve empezó a imprimir su particular forma de pensar y ver la computación, y definitivamente no será el mismo ahora que se ha ido.&lt;br /&gt;&lt;br /&gt;Quiero terminar esta nota con una cita que recopiló mi esposa para mi:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Tres manzanas han cambiado el mundo: la que Eva le ofreció a Adan, la que despertó a Newton y la que sembró Steve Jobs&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1359989947453909054?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1359989947453909054/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1359989947453909054' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1359989947453909054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1359989947453909054'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/10/buen-viaje-steve.html' title='Buen viaje, Steve'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-605706866310468335</id><published>2011-09-13T14:13:00.004-05:00</published><updated>2011-11-07T09:38:02.426-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>M$: Como instalar MSSMSE en Windows Vista/7</title><content type='html'>Hoy estaba intentando instalar el SQL Server Managment Studio Express en un Windows 7 64bits cuando, oh sorpresa, el instalador fallo al final sin mas informacion que un error criptico.&lt;br /&gt;&lt;br /&gt;Una rapida busqueda en Google me llevo a este &lt;a href="http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/7387d3c1-22c9-4d26-8c0d-a8f8f4c72b36/"&gt;link&lt;/a&gt;, donde indicaban somo solventar el problema:&lt;br /&gt;&lt;br /&gt;1. Vaya al escritorio y cree un nuevo acceso directo&lt;br /&gt;2. Apunte el acceso directo a c:\Windows\SysWow64\cmd.exe&lt;br /&gt;3. Guarde el acceso directo&lt;br /&gt;4. Haga click derecho sobre el acceso directo y seleccione "Ejecutar como Administrador"&lt;br /&gt;5. En la linea de comandos, escriba la ruta y nombre del instalador del MSSMSE, ej:  C:\Users\[YOUR NAME]\Downloads\SQLServer2005_SSMSEE_x64.msi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-605706866310468335?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/605706866310468335/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=605706866310468335' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/605706866310468335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/605706866310468335'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/09/m-como-instalar-mssmse-en-windows.html' title='M$: Como instalar MSSMSE en Windows Vista/7'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8264914359689836305</id><published>2011-09-09T19:26:00.002-05:00</published><updated>2011-11-07T09:37:53.833-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Registrando MSCOMCTL.OCX en ambientes de 64bits</title><content type='html'>Si se encuentran con el problema de intentar registrar la libreria MSCOMCTL.OCX en un Windows de 64 bits, he aqui como lograrlo:&lt;br /&gt;&lt;br /&gt;1. Copie el archivo MSCOMCTL.OCX en la carpeta C:\Windows\System&lt;br /&gt;2. Abra Notepad y escriba: REGSRV32 MSCOMCTL.OCX&lt;br /&gt;3. Guarde el archivo con el nombre "regcomctl.bat" en C:\Windows\System&lt;br /&gt;4. Ubique el archivo C:\Windows\System\regcomctl.bat, haga click derecho sobre el y seleccione "Ejecutar como administrador"&lt;br /&gt;&lt;br /&gt;La informacion original la puede conseguir &lt;a href="http://social.msdn.microsoft.com/Forums/en/vbgeneral/thread/a6d06695-87b8-4fa6-8b9c-a3547829ab76"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8264914359689836305?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8264914359689836305/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8264914359689836305' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8264914359689836305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8264914359689836305'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/09/registrando-mscomctlocx-en-ambientes-de.html' title='Registrando MSCOMCTL.OCX en ambientes de 64bits'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5752194467655360127</id><published>2011-08-05T13:14:00.004-06:00</published><updated>2011-11-07T09:38:26.441-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>NETCF: Crear un UserControl que acepte otros controles en tiempo de diseño</title><content type='html'>Hoy me encontre con un problema que, aunque al principio me confundio bastante, despues logre entender la logica del asunto y la razon de porque lo que queria hacer no iba a funcionar.&lt;br /&gt;&lt;br /&gt;El tema es que queria crear un UserControl que me sirviera de container para almacenar otros objetos en un form, muy al estilo de lo que haria un control tipo Panel, pero con la ventaja de estar adaptado a una funcion especifica. Para tal efecto procedi a crear el UserControl, configure su apariencia, tamano, eventos, funcionalidad, etc.&lt;br /&gt;&lt;br /&gt;Luego instancie un par de estos nuevos controles en un form de .NET CF y me dedique a poner algunos controles en cada uno de mis controles personalizados. La idea basicamente era que el form mostraria primero uno de los UserControl, conjuntamente con su contenido, y al pulsar un boton en el UserCOntrol1, se activaria el UserControl2 con su contenido particular.&lt;br /&gt;&lt;br /&gt;Pero no funciono. Luego de varias pruebas me di cunta que el problema era que los controles que cree "supuestamente" dentro de los UserControls estaban realmente asociados al Form directamente.&lt;br /&gt;&lt;br /&gt;Para los que vienen de VFP, es el mismo caso que pasaria si se creara un control basado en la clase Control en lugar de Containar: el control como tal no seria capaz de contener otros objetos en tiempo de diseno, aun cuando la clase Control es en container.&lt;br /&gt;&lt;br /&gt;Fue entonces que me di cuenta que lo que yo queria era un control basado en UserControl pero que se comportara como un Panel. Despues de mucho buscar, encontre este &lt;a href="http://social.msdn.microsoft.com/Forums/en-SG/netfxcompact/thread/421982a0-9623-4b1c-89d0-27e1a089e0a5"&gt;post&lt;/a&gt; que indicaba como lograrlo.&lt;br /&gt;&lt;br /&gt;Basicamente lo que se hace es indicarle al VS que use el Designer asociado a la clase Panel, como Designer de nuestro UserControl.  De esta forma VS trata a nuestro control como si fuera un Panel (permitiendole contener otros objetos) pero en tiempo de ejecucion el control se comportara como nuestro UserControl. El truco es incluir el siguiente codigo en el archivo DesignTimeAttributes.xmta:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;  &amp;lt;Class Name="SuNameSpace.SuUserControl;&amp;gt;&lt;br /&gt;    &amp;lt;DesktopCompatible&amp;gt;true&amp;lt;/DesktopCompatible&amp;gt;&lt;br /&gt;    &amp;lt;Designer&amp;gt;&lt;br /&gt;      &amp;lt;Type&amp;gt;&lt;br /&gt;        Microsoft.CompactFramework.Design.WindowsCE.PanelDesigner, Microsoft.CompactFramework.Design.WindowsCE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, Custom=null&lt;br /&gt;      &amp;lt;/Type&amp;gt;&lt;br /&gt;    &amp;lt;/Designer&amp;gt;&lt;br /&gt;  &amp;lt;/Class&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5752194467655360127?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5752194467655360127/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5752194467655360127' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5752194467655360127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5752194467655360127'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/08/netcf-crear-un-usercontrol-que-acepte.html' title='NETCF: Crear un UserControl que acepte otros controles en tiempo de diseño'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5793148075446431182</id><published>2011-07-15T09:22:00.006-06:00</published><updated>2011-11-07T09:38:49.330-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Que pasa cuando metes un iPhone dentro de una guitarra?</title><content type='html'>Me encontre con esto hoy y me parecio simplemente ESPECTACULAR.  Como nota al margen; se ve que el tipo es super fan de Eric Clapton :)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object height="195" style="height: 195px; width: 320px;" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TKF6nFzpHBU?version=3"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/TKF6nFzpHBU?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="320" height="195"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5793148075446431182?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5793148075446431182/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5793148075446431182' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5793148075446431182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5793148075446431182'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/07/que-pasa-cuando-metes-un-iphone-dentro.html' title='Que pasa cuando metes un iPhone dentro de una guitarra?'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6482804484331844215</id><published>2011-07-07T13:39:00.003-06:00</published><updated>2011-11-07T09:39:07.288-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>NETCF: Conectar con un servidor SQL Server remoto</title><content type='html'>En este blog he publicado varios posts relacionados con los problemas que se presentan a la hora de conectar una aplicacion de Windows Mobile con un servidor SQL Server mediante la red WiFi.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora quisiera anadir uno mas para la lista.  Resulta que en muchas redes, debido a alguna configuracion que desconozco, WM es incapaz de resolver un nombre de host, es decir, que si intentamos conectarnos con una cadena como esta:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Server=AdminServer;uid=sa;pwd=sasa;Database=SysData;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WM deberia ser capaz de resolver el nombre &lt;i&gt;AdminServer&lt;/i&gt; y obtener su IP real.  Como decia, esto no siempre es posible y, cuando WM no puede resolver el nombre, el resultado es el muy conocido error &lt;i&gt;SQL Server Not Found&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Seguramente hay varias formas de resolver esto. En mi caso, opte por intentar resolver el nombre del server y, de ser necesario, solicitar al usuario el IP de dicho server.  Con ambos datos, creo una entrada en el archivo Hosts del Windows Mobile a fin de asegurarme que siempre podra resolver el nombre del server, independientemente de la configuracion de la red.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para hacer esto, necesitamos dos cosas:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;a) Dado un nombre de host, como obtener su direccion IP: &lt;/div&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;using System.Net;&lt;br /&gt;private string resolveHost(string host)&lt;br /&gt;{&lt;br /&gt;  string hostIP = string.Empty;&lt;br /&gt;  try&lt;br /&gt;  {&lt;br /&gt;      IPHostEntry IPHost = Dns.GetHostEntry(host);&lt;br /&gt;      hostIP = IPHost.AddressList[0].ToString();&lt;br /&gt;  }&lt;br /&gt;  catch (System.Net.WebException webEx)&lt;br /&gt;  {&lt;br /&gt;       MessageBox,Show(webEx.Message);&lt;br /&gt;  }&lt;br /&gt;  catch (System.Exception othEx)&lt;br /&gt;  {&lt;br /&gt;       MessageBox.Show(othEx.Message);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  return hostIP;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;b) Habiendo obtenido el IP, bien sea por resolucion del host o porque el usuario lo indico, procedemos a crear una entrada en el archivo Hosts (que en WindowsMobile se maneja a nivel del Registry):&lt;/div&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;using Microsoft.Win32;&lt;br /&gt;&lt;br /&gt;string hostName = "AdminServer";&lt;br /&gt;string hostIP = "192.168.2.2";&lt;br /&gt;string regKeyName = "HKEY_LOCAL_MACHINE\\Comm\\Tcpip\\Hosts\\" + hostName;&lt;br /&gt;byte[] regKeyValue = System.Net.IPAddress.Parse(hostIP).GetAddressBytes();&lt;br /&gt;Registry.SetValue(regKeyName, "ipaddr", regKeyValue, RegistryValueKind.Binary);&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;Otro As bajo la manga a la hora de resolver este problema tan molesto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6482804484331844215?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6482804484331844215/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6482804484331844215' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6482804484331844215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6482804484331844215'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/07/netcf-conectar-con-un-servidor-sql.html' title='NETCF: Conectar con un servidor SQL Server remoto'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3330197027561128921</id><published>2011-07-07T13:27:00.003-06:00</published><updated>2011-11-07T09:39:19.650-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ODBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>ODBC: Error raro con Windows 2008 x64</title><content type='html'>Bueno, la historia es mas o menos así:  un sistema hecho en VFP 6, utiliza SQL Server 2008 R2 como motor de datos y ODBC como via de comunicación.  Específicamente, estaba usando el driver &lt;b&gt;SQL Server Native Client&lt;/b&gt; &lt;b&gt;10.0&lt;/b&gt; que se instala con el SQL Server 2008.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En las pruebas del programa en mi equipo (Windows XP 32bits) todo funcionaba perfecto. Pero cuando fuimos a instalar en el cliente (Windows 2008 Std x64), empezamos a obtener este error cada vez que el programa intentaba invocar un Stored Procedure:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;1526 Connectivity error: Unable to retrieve specific error information. Driver is probably out of resources.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Después de leer varios posts, la única conclusión que pude sacar es que el problema se debía a algún tipo de problema con el driver ODBC de SQL Server, en parte por lo indicado en este &lt;a href="http://support.microsoft.com/kb/240137/en-us"&gt;post&lt;/a&gt;, que aunque específicamente no aplica a este caso particular (yo no estaba pasando ningún parámetro tipo text), ciertamente arrojaba alguna luz sobre el posible origen del problema.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Dado que no tenia muchas mas opciones, decidí intentar usar el antiguo driver &lt;b&gt;SQL Server&lt;/b&gt; que usaba para conectarme con SQL Server 2000.... y &lt;i&gt;voila&lt;/i&gt;! resulta que con ese driver todo empezó a funcionar como se esperaba.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Quiero llamar la atención sobre el hecho de que el problema se presento SOLAMENTE en el Windows 2008 Std corriendo a 64bits, pues luego hicimos pruebas con un servidor Windows 2008 std pero a 32 bits, usando el driver SQL Server Native Client 10.0, y todo funciono perfectamente.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;En fin, para que lo tengan en cuenta si por casualidad le pasa lo mismo.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3330197027561128921?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3330197027561128921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3330197027561128921' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3330197027561128921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3330197027561128921'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/07/odbc-error-raro-con-windows-2008-x64.html' title='ODBC: Error raro con Windows 2008 x64'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6866338718323880615</id><published>2011-05-21T17:43:00.002-06:00</published><updated>2011-05-21T17:47:00.539-06:00</updated><title type='text'>Y el mundo no se acabo... o eso creo</title><content type='html'>Bueno, ya pasaron las 6pm aquí en Chile y el mundo no se acabo... eso o ninguna de las personas que yo conozco eran puras de corazón, porque aun estamos todos aquí!!!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como escribió mi esposa: "Hoy a las 6pm Dios vendría a llevarse a los puros de corazón... asi que si estas leyendo esto eres tan mierdita como yo!!"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A ver si esta vez la humanidad aprende de una buena vez a no creer en profecías apocalípticas... aunque algo me dice que el año que viene empezaremos de nuevo con esta cancioncita.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6866338718323880615?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6866338718323880615/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6866338718323880615' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6866338718323880615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6866338718323880615'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/05/y-el-mundo-no-se-acabo-o-eso-creo.html' title='Y el mundo no se acabo... o eso creo'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5236590251635981235</id><published>2011-03-26T09:03:00.003-05:00</published><updated>2011-11-07T09:39:33.142-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: De vuelta a casa</title><content type='html'>Luego de un par de anos trabajando principalmente con .NET en todos sus sabores (ASP.NET, WinForms, Compact Framework), el mes pasado empece un proyecto que me ha llevado de nuevo a utilizar VFP como ambiente principal de desarrollo.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Y la verdad, ha sido como volver a casa. Una casa renovada, eso si, pues el proyecto esta basado en VFP 9 por lo que he podido hacer uso de varias de las nuevas opciones que vinieron en esa excelente versión.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Paradójicamente, cada vez mas me encuentro a mi mismo aplicando en VFP conceptos que aprendí en .NET y específicamente en C#.  En lugar de constantes he simulado enumeraciones usando la clase Empty y la función ADDPROPERTY, en lugar de usar una variable global donde almacenar el handle de conexión devuelto por SQLEXEC() me encontré representando la conexión con una clase llamada SqlConnection. Asi que, cuando antes hacia:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;LOCAL nConn,nResult&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;nConn = 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;TRY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; nConn = SQLSTRINGCONNECT(cConnStr) &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; nResult = SQLEXEC(nConn,cSQL,cCursor)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;CATCH TO ex&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;FINALLY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; IF nConn &amp;lt;&amp;gt; 0 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  SQLDISCONNECT(nConn)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; ENDIF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;ENDTRY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ahora hago:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;LOCAL oConn&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;oConn = CREATEOBJECT("SqlConnection",cConnStr)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;TRY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; oConn.Open()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; oConn.Send(cSQL,cCursor)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;CATCH TO ex&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;FINALLY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; IF oConn.State = connectionState.Opened&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  oConn.Close()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt; ENDIF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;ENDTRY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cómico verdad? pero lo cierto es que no solamente yo me siento mas cómodo con la 2da versión, supongo que porque me recuerda a lo que he venido usando en los últimos anos, sino que ademas creo que el código final es mas legible y mucho mas reusable y encapsulado también.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por cierto, si alguien sabe como simular el concepto de Interfaces en VFP, que me avise, porque esa es una de las cosas de .NET que quisiera tener en VFP !!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5236590251635981235?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5236590251635981235/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5236590251635981235' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5236590251635981235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5236590251635981235'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/03/vfp-de-vuelta-casa.html' title='VFP: De vuelta a casa'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6817219752563006780</id><published>2011-03-26T08:55:00.002-05:00</published><updated>2011-11-07T09:39:50.173-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='OLEDB'/><title type='text'>VFP + SQL: Cuidado al instalar el OLEDB Provider de VFP</title><content type='html'>Haciendo algunas pruebas con Linked Servers en SQL Server, necesite instalar el OLE DB Provider de VFP 9.0, el cual descargue directamente desde el &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA-95A3289C5FD4&amp;amp;displaylang=en"&gt;sitio oficial&lt;/a&gt; de Microsoft.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sin embargo, luego de haber descargado el instalador y haberlo corrido sin problemas, la opción de OLE DB Provider para VFP no aparecía en la lista de Providers de SQL Server (32 bits).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego de varios minutos de búsquedas en San Google, encontré un &lt;a href="http://www.sqlmag.com/community/forums/tabid/426/aff/65/aft/68050/afv/topic/Default.aspx"&gt;post&lt;/a&gt; donde indicaban que por alguna razón el instalador no registraba la librería correctamente, y que la misma debía ser registrada manualmente para que funcionara (aunque para el autor del post esto no soluciono del todo su problema, pero esa es otra historia).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Así que abrí una sesión de comandos y ejecute:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;CD \Windows\System32&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;REGSVR32 vfpoledb.dll&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Y efectivamente el problema se soluciono y la opción apareció en la lista de providers de SQL Server. Asi que ya saben; si necesitan instalar el provider de OLE DB  de VFP, luego de instalado deben registrarlo manualmente para que funcione.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Y si alguien tiene idea de porque demonios el instalador de M$ no hace el registro automáticamente como uno esperaría, que por favor nos ilumine con su sabiduría.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6817219752563006780?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6817219752563006780/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6817219752563006780' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6817219752563006780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6817219752563006780'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2011/03/vfp-sql-cuidado-al-instalar-el-oledb.html' title='VFP + SQL: Cuidado al instalar el OLEDB Provider de VFP'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-996679361156515193</id><published>2010-09-29T20:20:00.002-06:00</published><updated>2011-11-07T09:40:10.279-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Otra de Microshit!!</title><content type='html'>Hoy tuve la "dicha" de intentar instalar el SQL Server 2008 Managment Studio Express en mi equipo con Windows XP SP2.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Resulto que el ejecutar las reglas de validacion de la instalacion saltaron dos problemas de esos en los que M$ es especialista.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Falla en la regla Sql2005SsmsExpressFacet, incluso despues de haber desinstalado el SQL Server 2005 Managment Studio Express.  La solucion a esto fue modificar en el register la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsfoft\Microsoft SQL Server y renombrar la clave "90" temporalmente durante la instalacion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Falla en la regla VSShellInstalledRule, relacionado con no tener instalado el SP1 de Visual Studio 2008. Con lo delicado que es el VS2008 la verdad no tenia mucho interes en instalar el fulano SP1, asi que la solucion paso por dos pasos:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;a) Ejecutar el instalador del Managment Express manualmente e indicarle que ignorara esa regla:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SETUP /ACTION=install /SkipRules=VSShellInstaled RebootRequiredCheck&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;b) Cambiar en el register el valor de la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevVis\VS\Servicing\9.0\SP segun como se indica &lt;a href="http://www.openspan.com/Community/index.php/component/kb/article/why_do_i_get_an_error_installing_the_microsoft_visual_studio_2008_sp1_isolated_shell.html"&gt;aqui&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una vez finalizada la instalacion, se reversan los cambios hechos en el register y listo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-996679361156515193?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/996679361156515193/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=996679361156515193' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/996679361156515193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/996679361156515193'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2010/09/otra-de-microshit.html' title='Otra de Microshit!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5741870446270698965</id><published>2010-09-24T09:20:00.004-06:00</published><updated>2011-11-07T09:40:27.027-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#: Constructor implicito vs Contructor Explicito</title><content type='html'>Al crear una instancia de una clase o estructura, generalmente se utiliza el constructor implícito, mediante la siguiente sintaxis:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;MyClass var = new MyClass();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el caso de las clases, es posible personalizar el constructor mediante la sintaxis:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;public MyClass()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;   // Aqui va el codigo de inicializacion de la clase&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pero en el caso de las estructuras, C# no permite crear un constructor sin parámetros, lo cual nos obligaría a incluir un parámetro "dummy" solo para saltar esta restricción:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;public MyStruct(object foo)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;   // Aqui va el codigo de inicializacion&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;MyStruct var = new MyStruct(null);&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para evitar esto, podemos hacer uso de la clausula "static" para crear un constructor personalizado, el cual no requiere que se le indique ningún tipo de parámetro.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;public static MyStruct New()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  MyStruct obj = new MyStruct();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  obj.Prop1 = 0;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  obj.Prop2 = string.Emtpy;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;  return obj;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;luego, podemos crear nuestra instancia perfectamente inicializada mediante la sintaxis:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"&gt;MyStruct var = MyStruct.New();&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aun mejor, esta solución nos permite sobrecargar el constructor explicito con distintas variaciones, de acuerdo a las necesidades (cosa que no es posible con el constructor implícito).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5741870446270698965?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5741870446270698965/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5741870446270698965' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5741870446270698965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5741870446270698965'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2010/09/c-constructor-implicito-vs-contructor.html' title='C#: Constructor implicito vs Contructor Explicito'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8425818103762368760</id><published>2010-08-06T11:07:00.003-06:00</published><updated>2011-11-07T09:40:50.383-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>WM: Otra del emulador</title><content type='html'>Apenas hace dos días pude por fin encontrar solución al problema de conexión entre mi emulador de WM6 y mi SQL Server 2005... pues hoy, de la nada, me encontré con este error al intentar instalar mi aplicación en el emulador desde el VS2008:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Error   1       The device security configuration disallowed the connection. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ensure that you have the appropriate certificates on your device for &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;development. Review your SDK documentation for proper security&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;settings for connecting to this device. Device Connectivity Component&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: fixed-width, monospace; font-size: 12px;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Después de leer una docena de artículos que hablaban desde cambiar unos valores en el registry del emulador, hasta instalar unos certificados de seguridad y demás, encontré mi propia solución: hacer un soft reset del emulador!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Asi que se cumple la máxima suprema de la computación: cuando algo no funcione, REINICIELO!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8425818103762368760?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8425818103762368760/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8425818103762368760' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8425818103762368760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8425818103762368760'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2010/08/wm-otra-del-emulador.html' title='WM: Otra del emulador'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1426342068348507674</id><published>2010-08-04T14:57:00.003-06:00</published><updated>2011-11-07T09:41:16.628-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>WM: Una nueva luz al problema "SQL Server not found"</title><content type='html'>Después de casi cuatro años de haber empezado mi primer proyecto con Windows Mobile... y descubrir la HORRIBLE realidad de lo difícil que puede llegar a ser lograr que el emulador de Windows Mobile se conecte a una instancia de SQL Server corriendo en tu equipo, POR FIN, encontré algo que parece solucionar definitivamente el problema.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para los que apenas se están empezando a topar con esta realidad, o para las que ya la han sufrido y aun no entienden bien cual es el problema, he aqui lo que he aprendido en estos cuatro años:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Debes desactivar el firewall de Windows o al menos asegurarte que no esta bloqueando el puerto que este utilizando SQL Server, normalmente el 1433.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Debes asegurarte que tu instancia de SQL Server, especialmente si es una versión Express, este preparado para aceptar conexiones remotas.  En Google es fácil encontrar los pasos para poder activar esto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Si por casualidad tienes varias instancias de SQL Server corriendo simultáneamente en tu equipo, JAMAS LOGRARAS QUE EL EMULADOR SE CONECTE.  Porque? la verdad aun no lo se, pero este era mi caso, y era la causa por la que, a pesar de tener todo perfectamente configurado, me era imposible establecer la conexión. La solución?  detener todas las instancias de SQL Server a excepción de la que necesitas usar con el emulador.  Probablemente haya alguna forma de evitar esto, pero aun no la he encontrado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Todo lo que se necesita para conectar el emulador a tu equipo es "ponerlo en la cuna" o "cradle", que en el caso del emulador, se puede hacer a través del Device Emulator Manager.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Para poder conectarte al SQL Server desde el emulador SIN necesidad de hacer cradle, debes instalar en tu equipo el Microsoft Loopback Adapter y luego configurar la tarjeta de red del emulador para que se conecte con ese adaptador.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1426342068348507674?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1426342068348507674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1426342068348507674' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1426342068348507674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1426342068348507674'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2010/08/wm-una-nueva-luz-al-problema-sql-server.html' title='WM: Una nueva luz al problema &quot;SQL Server not found&quot;'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7936834673011428323</id><published>2009-12-23T15:35:00.002-05:00</published><updated>2011-11-07T09:42:00.712-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><title type='text'>VS2008: M$, M$,... hasta cuaaaaando!!</title><content type='html'>Hace unas semanas prepare un ambiente de desarrollo con Visual Studio 2008 en una maquina virtual corriendo Windows Server 2008 Std y VirtualBox.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Todo funcionaba de maravilla, excepto que cada vez que enviaba a compilar el proyecto se tardaba hasta 10 minutos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego de varios dias sufriendo eso, apenas HOY fue que recorde que lo mismo me habia pasado con mi ambiente de desarrollo original y que en su momento lo habia corregido.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La causa? una tecnologia desarrollada por M$ llamada Platform Verification Task.  Para hacer muy corto y cuento muy largo, esta tecnologia permite verificar que no estemos usando elementos que no esten disponibles para la plataforma especifica para la que estamos desarrollando (ej, usar un objeto Button en Windows Mobile Phone Edition).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este proceso se ejecuta DESPUES que VS ya ha compilado el proyecto e identifica clases o caracteristicas que no sean compatibles con la plataforma asociada al proyecto y lo notifica al usuario.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El problema es que este proceso tarda MUCHISIMO. Hasta aqui todo bien, realmente. Y en donde metio la pata M$?? bueno, pues en que a NADIE se le ocurrio que dado que ese proceso es sumamente lento, uno podria querer DESACTIVARLO temporalmente y reactivarlo solo cuando uno quiera realizar esa verificacion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Afortunadamente, hay una forma relativamente facil de &lt;a href="http://blogs.msdn.com/vsdteam/archive/2006/09/15/756400.aspx"&gt;resolver el problema&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7936834673011428323?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7936834673011428323/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7936834673011428323' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7936834673011428323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7936834673011428323'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/12/vs2008-m-m-hasta-cuaaaaando.html' title='VS2008: M$, M$,... hasta cuaaaaando!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8024552558419127088</id><published>2009-09-27T18:54:00.003-06:00</published><updated>2011-11-07T09:42:41.440-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>Otra de las de M$</title><content type='html'>Hoy me tope con otro de esos errores en los que M$ se especializa tanto. El error en cuestión aparecía al momento de compilar el proyecto, luego de incluir una clase que hacia referencia a clases contenidas en &lt;span style="font-style: italic;"&gt;System.Data.SqlClient&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;genasm.exe(1) : error There was an error initializing Tracker.Helpers.CFSqlSP.  Could not load file or assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes' or one of its dependencies. El sistema no puede hallar el archivo especificado.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Luego de mucho investigar y probar, incluyendo una reconstrucción del proyecto en VS, encontré que el error era causado por la presencia del archivo &lt;span style="font-style: italic;"&gt;DesignTimeAttributes.xmta&lt;/span&gt;, el cual contiene atributos personalizados utilizados por el editor de diseno de VS.  En mi caso particular, este archivo contenía la propiedad &lt;span style="font-style: italic;"&gt;DesktopCompatible(true)&lt;/span&gt; para varios controles de usuario en uso dentro del proyecto. &lt;br /&gt;&lt;br /&gt;Una búsqueda exhaustiva en Google arrojo varias posible soluciones, que al menos a mi no me funcionaron:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Excluir el archivo XMTA del proyecto: esto efectivamente eliminaba el error al compilar, pero impedía cargar en el diseñador cualquier forma que contuviera controles de usuario heredados.&lt;/li&gt;&lt;li&gt;Incluir manualmente la referencia a los DLLs indicados en el error, dentro del archivo del proyecto.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Al final, y solo luego de mucho buscar, encontré un &lt;a href="http://www.mobilenug.com/foros/Lists/Compact%20Framework/Flat.aspx?RootFolder=%2Fforos%2FLists%2FCompact%20Framework%2Fgenasm&amp;amp;FolderCTID=0x01200200C8FB74FD1575CA469884D1E3BBD611D9"&gt;post&lt;/a&gt; de una persona llamada &lt;span style="font-weight: bold;"&gt;Joaquin Raya&lt;/span&gt;, que ofrecía la mejor explicación que encontré sobre la raíz del problema. Según explica Joaquin en su post, el problema es causado por un bug en VS 2008 el cual, cuando se usa el archivo XTMA dentro de un proyecto, causa una confusión dentro de las rutas de búsqueda de los DLLs, causando que VS intente ubicar las DLLs especificas de .NET CF dentro de los archivos del .NET Framework.&lt;br /&gt;&lt;br /&gt;Su solución resulto ser bien sencilla: ubicar los DLLs indicados en el error e instalarlos en el GAC.  En mi caso particular, lo hice de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Abrí una ventana de Explorer en la carpeta &lt;span style="font-style: italic;"&gt;C:\Archivos de Programa\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Abrí otra ventana de Explorer en la carpeta &lt;span style="font-style: italic;"&gt;C:\Windows\assembly&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Seleccioné los archivos &lt;span style="font-style: italic;"&gt;System.dll&lt;/span&gt; y &lt;span style="font-style: italic;"&gt;System.Data.dll&lt;/span&gt; en la carpeta &lt;span style="font-style: italic;"&gt;WindowsCE&lt;/span&gt; y los arrastre sobre la carpeta &lt;span style="font-style: italic;"&gt;assembly&lt;/span&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Nótese que, aun cuando mi proyecto estaba basado en el .NET CF 3.5, el error hacia referencia a archivo &lt;span style="font-style: italic;"&gt;System.dll&lt;/span&gt; versión &lt;span style="font-style: italic;"&gt;2.0.0.0&lt;/span&gt;. Hay que fijarse bien en esto para saber que versión de los DLL se debe copiar en el GAC.&lt;br /&gt;&lt;br /&gt;Y saben lo mas triste de todo el caso? que este mismo error ya había sido reportado en VS 2005 y corregido en su SP1.... solo para reaparecer vivito y coleando en VS 2008.... hay que ver!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gracias M$, por mas de dos horas improductivas y estresantes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8024552558419127088?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8024552558419127088/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8024552558419127088' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8024552558419127088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8024552558419127088'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/09/otra-de-las-de-m.html' title='Otra de las de M$'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3480532334106133131</id><published>2009-06-22T18:38:00.002-06:00</published><updated>2009-06-22T18:41:48.600-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET: Como alinear el contenido de un TextBox a la derecha</title><content type='html'>Algo como esto deberia ser sencillo: simplemente seleccionarse el valor "Right" en la propiedad Alignment del TextBox... pero increiblemente, la propiedad Alignment de la clase asp:TextBox solo acepta el valor "Left".&lt;br /&gt;&lt;br /&gt;Asi que si desean obtener un control TextBox cuyo contenido este alineado a la derecha, se debe utilizar un workaround, como este:&lt;br /&gt;&lt;br /&gt;anyTextBox.Attributes.CssStyle.Add("TEXT-ALIGN","right");&lt;br /&gt;&lt;br /&gt;Las cosas del ASP.NET....!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3480532334106133131?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3480532334106133131/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3480532334106133131' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3480532334106133131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3480532334106133131'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/06/aspnet-como-alinear-el-contenido-de-un.html' title='ASP.NET: Como alinear el contenido de un TextBox a la derecha'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2081107081803034339</id><published>2009-05-30T20:59:00.001-06:00</published><updated>2011-11-07T09:42:55.444-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET: Cuidado al eliminar una cookie</title><content type='html'>La colección &lt;span style="font-weight: bold;"&gt;Response.Cookies&lt;/span&gt; contiene un método de nombre &lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;Remove&lt;/span&gt;&lt;/span&gt;, que a primera vista pareciera el indicado para eliminar una cookie previamente definida:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reponse.Cookies.Remove("myCookie")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lógico verdad? pues resulta que el método Remove lo que hace es eliminar el cookie de la colección de cookies, pero no la elimina FISICAMENTE, por lo que en el siguiente Request esa cookie será cargada nuevamente.&lt;br /&gt;&lt;br /&gt;Investigando un poco resultó que la forma más facil de eliminar definitivamente una cookie es hacerla expirar:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Response.Cookies("myCookie").Expire = DateTime.Now.AddDays(-1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Increible verdad? &amp;nbsp;al mas puro estilo de Microsoft!! :) :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2081107081803034339?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2081107081803034339/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2081107081803034339' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2081107081803034339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2081107081803034339'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/05/aspnet-cuidado-al-eliminar-una-cookie.html' title='ASP.NET: Cuidado al eliminar una cookie'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6612225500930258890</id><published>2009-05-20T14:35:00.001-06:00</published><updated>2009-05-20T14:35:00.295-06:00</updated><title type='text'>I'M BACK!!!</title><content type='html'>Hoy revivi mi sitio web, aunque con un pequeño cambio: en lugar de ser www.victorespina.com, ahora sera www.victorespina.com.ve.&lt;br /&gt;&lt;br /&gt;La razón? pues un gracioso en USA no le pareció mejor que comprar mi dominio original cuando este venció a principios de este año (gracias Chavez por obligar a mi hosting a cobrar en US$ por los dominios .com) y ahora quiere que le pague 50$ por devolvermelo, cuando mi hosting me cobra 11$.&lt;br /&gt;&lt;br /&gt;Asi que lo mande bien largo pa la $%!#%# y decidi nacionalizar mi dominio.&lt;br /&gt;&lt;br /&gt;Asi que ya saben: mi nuevo sitio web es:&lt;br /&gt;&lt;br /&gt;www.victorespina.com.ve&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6612225500930258890?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6612225500930258890/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6612225500930258890' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6612225500930258890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6612225500930258890'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/05/i-back.html' title='I&amp;#39;M BACK!!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2076467968869465069</id><published>2009-05-18T16:45:00.002-06:00</published><updated>2009-05-18T16:48:47.828-06:00</updated><title type='text'>Una de abogados</title><content type='html'>Este chiste me lo conto el novio de mi cuñada, y la verdad me rei pero mucho!!&lt;br /&gt;&lt;br /&gt;Los científicos estan estudiando seriamente la posibilidad de usar Abogados en lugar de ratas para sus experimentos, debido a tres razones:&lt;br /&gt;&lt;br /&gt;1) Hay mas abogados que ratas&lt;br /&gt;2) No hay sociedades defensoras de los derechos de los abogados&lt;br /&gt;3) Los abogados estan dispuestos a hacer cosas... que las rata NO!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2076467968869465069?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2076467968869465069/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2076467968869465069' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2076467968869465069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2076467968869465069'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/05/una-de-abogados.html' title='Una de abogados'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-168110141115272870</id><published>2009-05-18T16:39:00.002-06:00</published><updated>2011-11-07T09:43:25.377-05:00</updated><title type='text'>Una mirada hacia lo que nos espera</title><content type='html'>Leyendo en la última edición del Readers Digest, me encontré con una historia sobre una mujer que realiza la proeza de publicar un blog DESDE CUBA!!&lt;br /&gt;&lt;br /&gt;Todos deberiamos, sobre todos los que apoyan a Chavez, leer las entradas de este blog, para que vean lo MUY FAMILIAR que resultan algunas de las cosas que se cuentan alli... y tambien de lo que se nos viene encima si no rectificamos el rumbo y sacamos del poder a ese mono payaso con su circo.&lt;br /&gt;&lt;a href="http://www.desdecuba.com/generaciony"&gt;&lt;br /&gt;http://www.desdecuba.com/generaciony&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-168110141115272870?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/168110141115272870/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=168110141115272870' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/168110141115272870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/168110141115272870'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/05/una-mirada-hacia-lo-que-nos-espera.html' title='Una mirada hacia lo que nos espera'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1099646459011846057</id><published>2009-03-27T17:40:00.002-06:00</published><updated>2011-11-07T09:43:43.115-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP 6 SP5</title><content type='html'>Para los que aun usamos esa maravillosa herramienta llamada &lt;span style="font-weight: bold;"&gt;Visual FoxPro&lt;/span&gt;, pueden descargar el &lt;span style="font-weight: bold;"&gt;SP5&lt;/span&gt; de la versión 6.0 desde aqui:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-Full/WIN98Me/es/vs6sp5.exe"&gt;http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-Full/WIN98Me/es/vs6sp5.ex&lt;/a&gt;&lt;a href="http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-Full/WIN98Me/es/vs6sp5.exe"&gt;e&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pongo el post porque me resulto sorprendentemente difícil encontrar este link, asi que pense que poniendolo por aca de repente ayuda a alguien más que lo ande buscando como yo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1099646459011846057?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1099646459011846057/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1099646459011846057' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1099646459011846057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1099646459011846057'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/03/vfp-6-sp5.html' title='VFP 6 SP5'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-4266303733200714307</id><published>2009-03-08T22:04:00.003-05:00</published><updated>2009-03-10T07:00:15.874-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Compact Framework'/><title type='text'>.NET CF: Un error que me costo un dia entero</title><content type='html'>Estoy en mitad de un proyecto para una aplicación mobile con &lt;span style="font-weight: bold;"&gt;.NET CF 2.0&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;WM 6.0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Hoy empecé la mañana con toda la intención de terminar lo que me faltaba del proyecto. Pero cual no fue mi sorpresa cuando al querer ejecutar el programa, el mismo fallaba con una excepción de tipo &lt;span style="font-weight: bold;"&gt;ObjectDisposedException&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;El error ocurría al asignar un valor a la propiedad &lt;span style="font-weight: bold;"&gt;SelectedIndex&lt;/span&gt; de un &lt;span style="font-weight: bold;"&gt;ListBox&lt;/span&gt;. Los datos de dicho &lt;span style="font-weight: bold;"&gt;ListBox&lt;/span&gt; provenían de un DataTable construido sobre la marca para contener los datos a mostrar en ese &lt;span style="font-weight: bold;"&gt;ListBox&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Hasta donde podía entender el error se producía debido a que el origen de datos asociado al &lt;span style="font-weight: bold;"&gt;Listbox&lt;/span&gt; por alguna razón ya no existía en memoria al momento de asignar el valor de &lt;span style="font-weight: bold;"&gt;SelectedIndex&lt;/span&gt;, lo cual era prácticamente imposible pues ambas lineas de código estaban inmediatamente contiguas.&lt;br /&gt;&lt;br /&gt;Luego de perder TODO EL DIA buscando en Google las causas de dicho error y sus posibles soluciones, es hasta ahora, a las 9:15pm cuando he caído en cuenta que el error lo estaba causando el hecho de que YO puse código en el evento &lt;span style="font-weight: bold;"&gt;SelectedIndexChange&lt;/span&gt; del &lt;span style="font-weight: bold;"&gt;ListBox&lt;/span&gt; que causaba el cierre de la forma.&lt;br /&gt;&lt;br /&gt;Dado que ese evento se invoca INMEDIATAMENTE después de asignado un valor a la propiedad &lt;span style="font-weight: bold;"&gt;DataSource&lt;/span&gt;, el evento &lt;span style="font-weight: bold;"&gt;SelectedIndexChanged&lt;/span&gt; se disparaba e invocaba el código que resultaba en &lt;span style="font-weight: bold;"&gt;this.Close()&lt;/span&gt;, lo cual a su vez causaba la liberación de todos los recursos, incluyendo el DataSource asociado al &lt;span style="font-weight: bold;"&gt;ListBox&lt;/span&gt;, razón por la cual al llegar al &lt;span style="font-weight: bold;"&gt;SelectedIndex&lt;/span&gt;, se generaba el error en cuestión.&lt;br /&gt;&lt;br /&gt;Simplemente increíble!!! Son estos errores los que, muchas veces,  causan retrasos considerables en los proyectos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-4266303733200714307?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/4266303733200714307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=4266303733200714307' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4266303733200714307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4266303733200714307'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/03/net-cf-un-error-que-me-costo-un-dia.html' title='.NET CF: Un error que me costo un dia entero'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7584240988995567214</id><published>2009-02-25T13:04:00.002-05:00</published><updated>2009-02-25T13:05:39.330-05:00</updated><title type='text'>Mitos de la vasectomia</title><content type='html'>Mi esposa se topó por accidente con este blog, y encontramos este post que me pareció muy pero muy bueno.&lt;br /&gt;&lt;br /&gt;Para no ganar indulgencias con escapulario ajeno, aqui les dejo el link al post original:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ciudadanodelmundo.espacioblog.com/post/2007/02/10/educacion-sexual-con-humor"&gt;Mitos de la vasectomia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7584240988995567214?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7584240988995567214/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7584240988995567214' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7584240988995567214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7584240988995567214'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/02/mitos-de-la-vasectomia.html' title='Mitos de la vasectomia'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-4914305154239494664</id><published>2009-02-23T12:40:00.002-05:00</published><updated>2009-02-23T12:46:49.334-05:00</updated><title type='text'>Luto en la familia Guaco</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.nuestragaita.com/sentimientonacional.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 238px; height: 125px;" src="http://www.nuestragaita.com/sentimientonacional.JPG" alt="" border="0" /&gt;&lt;/a&gt;Hace unos minutos recibí la triste noticia del fallecimiento de &lt;span style="font-weight: bold;"&gt;Sundín Galué&lt;/span&gt; (padre, primero desde la izquierda en la foto), el cual fué en vida miembro fundador de la banda &lt;a href="http://www.guaco.org"&gt;Guaco&lt;/a&gt;, excelente músico y cantante, y un querido amigo de mi familia paterna.&lt;br /&gt;&lt;br /&gt;Tuve la gran dicha de compartir personalmente con él en varias tertulias en casa de mis tíos Magaly y Ricardo (QEPD), en las cuales nos deleitábamos con su excelente voz, siempre acompañado de su guitarra y su típico humor maracucho.&lt;br /&gt;&lt;br /&gt;Mi mas sentido pésame a su familia... lo extrañaremos por aca.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-4914305154239494664?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/4914305154239494664/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=4914305154239494664' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4914305154239494664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4914305154239494664'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/02/luto-en-la-familia-guaco.html' title='Luto en la familia Guaco'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8104072482009903287</id><published>2009-02-10T20:45:00.002-05:00</published><updated>2011-11-07T09:44:12.714-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><title type='text'>OS X: Como recuperar el acceso a root</title><content type='html'>En algún momento durante la instalación del OS X en mi iMac, le indique cual seria la clave para el superusuario o &lt;span style="font-weight: bold;"&gt;root&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Un año después no tengo NI IDEA de que clave fue la que puse, y resulta que he necesitado en algunas ocasiones accesar a root para hacer algo a bajo nivel.&lt;br /&gt;&lt;br /&gt;Como hacer entonces para recuperar el acceso al usuario root?&lt;br /&gt;&lt;br /&gt;La gente de Tech-Recipes me dió la respuesta hoy: &lt;br /&gt;&lt;br /&gt;1. Haz login con un usuario Administrador&lt;br /&gt;2. Abre una sesión de Terminal&lt;br /&gt;3. Ejecuta &lt;span style="font-family: 'courier new'; font-weight: bold;"&gt;sudo passwd root&lt;/span&gt;&lt;br /&gt;4. Introduce la clave del usuario Administrador&lt;br /&gt;5. Introduce la &lt;span style="font-weight: bold;"&gt;NUEVA&lt;/span&gt; clave para el usuario &lt;span style="font-weight: bold;"&gt;root&lt;/span&gt;&lt;br /&gt;6. Confirma la clave&lt;br /&gt;&lt;br /&gt;Y listo!!! de nuevo tienes acceso a tu usuario &lt;span style="font-weight: bold;"&gt;root&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Enlace original:&lt;br /&gt;&lt;a href="http://www.tech-recipes.com/rx/712/mac-os-x-recover-lost-root-password/"&gt;http://www.tech-recipes.com/rx/712/mac-os-x-recover-lost-root-password/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8104072482009903287?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8104072482009903287/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8104072482009903287' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8104072482009903287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8104072482009903287'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2009/02/os-x-como-recuperar-el-acceso-root.html' title='OS X: Como recuperar el acceso a root'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-4800996620822154626</id><published>2008-12-18T18:56:00.001-05:00</published><updated>2008-12-18T18:59:19.250-05:00</updated><title type='text'>Porque las mujeres prefieren vivir en Venezuela y no en Iran?</title><content type='html'>Esto me llegó por correo y me pareció DEMASIADO COMICO:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. En Irán las mujeres estudian hasta los 12 años. En Venezuela, las tipas son hasta ministras... Qué; tal?.&lt;br /&gt;&lt;br /&gt;2. En Irán las mujeres no pueden mostrar su rostro, ni pueden usar faldas, pantalones, blusas, ni mucho menos hilos dentales. En Venezuela muestran el ombligo, el culo, las tetas... toda vaina...!!&lt;br /&gt;&lt;br /&gt;3. En Irán las Mujeres no pueden ver TV, ni escuchar radio. En Venezuela si no les compras un TV pantalla plana, estás jodido, además del DVD que jamás saben usar, solo para decir que tienen uno... verga es casi un deber llevarlas al cine todas las semanas, comprarles todas la huevonadas que pidan: Cotufas, sushi, coca cola light, tequeños, Platanitos, Pirulin y afines... y si la película es una cagada, mierda!!!... te arman ese tronco e peo delante de todos sus amigos, por que no dejaste que ella escogiera la película...!&lt;br /&gt;&lt;br /&gt;4. En Irán no hay cumpleños, ningún tipo de festejos. En Venezuela por toda mierda quieren que hagas una fiesta y aquel peo si se te olvida el aniversario y/o el cumpleaños, hay que sacarla pa algún lado o regalarle una vaina cuando cumplen una semana de empatados, el día de los enamorados, el día de la amistad, el día de la madre, de la mujer, de la secretaria, el día del árbol y cuanto "DIA" exista en el calendario...!&lt;br /&gt;&lt;br /&gt;5. En Irán los hombres pueden tener más de una esposa. En Venezuela si se llegan a enterar que hablaste con una amiguita del gimnasio, el peo es de pronostico reservado mi hermano: terminan, se divorcian, te embargan el sueldo, te quitan el carro, la casa, te dejan en la calle y más rápido que inmediatamente se empatan con tu mejor amigo y andan montados en el carro que te embargaron, y pasándola del carajo en el club donde la acción era tuya COÑO...!, Y CUIDADO SI TIENEN UNA AMIGA ABOGADA... mi compai ahÍ si es verdad que te dejan hasta sin los interiores rotos.&lt;br /&gt;&lt;br /&gt;6. En Irán la mujer que le monta los cachos al marido es quemada, apedreada, ajusticiada. En Venezuela eso es una gracia, algo que "sucede", dicen que no saben como pasó, que solo fue sexo, que no recuerdan nada, que estaba rascada; y lo peor no es el cacho en si, sino la jodedera y el chalequeo de los demás.&lt;br /&gt;&lt;br /&gt;7. En Irán a las mujeres les toca andar a pie, no tienen carro, ni bicicletas, ni patinetas, ni patines... las coñas andan a PIE. En Venezuela te mandan a la mierda si no les cambias el carro todos los años, y que sea mejor que el de la amiga.&lt;br /&gt;&lt;br /&gt;8. En Irán las mujeres respetan y veneran a sus maridos. Los tratan como a un Dios. En Venezuela te tratan como a un esclavo... busca los carajitos al colegio, ve para el automercado, lávame el carro, vamos para la playa, vamos al babyshower de mi amiga del colegio... mierda que ladilla...!, te gritan, y si se te ocurre protestar, te sale dormir en el sofá con el perro que es horrible pero que a ella le parece bellísimo, y de paso apesta... sin cable y mucho menos control... porque está en el cuarto, te toca ver las cadenas hasta que te duermas, y la coño é madre viendo Discovery Health... E!, EXN, P&amp;amp;A, Cosmopolitan o cualquier otra mariquera que dan en esos canales que solo ven ellas... Coño que arrechera...!&lt;br /&gt;&lt;br /&gt;9. En Irán si el hombre resulta "MAL POLVO", nadie se entera porque la mujer iraní ni por el carajo lo dice. En Venezuela si eres "MAL POLVO", usted se jodió mi pana...!, mejor que se meta su coctelito de camarones, chipi chipi, mejillón, rompe colchón, guacuco, con un mezcladito de viagra, por que si resultas "MAL POLVO" ... se entera "tútiri mundachi", dicen que lo tienes como un pepito mojaaaao, y para más colmo te llevan a PORTADAS a "hablar de tu problema", coño que cagada. Pero si eres un "BUEN POLVO", o sea te las cojes bien... ni de vaina se lo dicen a ninguna otra cuaima, (verga son más arrechas que nadie)... para que no se le pase por la cabeza acostarse contigo. No ...Jodaaaaaa...!&lt;br /&gt;&lt;br /&gt;10. Y para colmo son tan arrechas que nos dicen “Machistas” ... Unos pendejos es lo que somos. Como nos gustaría mandar un contingente de brujas venezolanas para Irán...!!!&lt;br /&gt;&lt;br /&gt;11. Pero lo mas triste de todo es que nos calamos todo eso porque no hay nada más ARRECHO que tener por esposa, querida, amiga o amante a una VENEZOLANA, porque a esas mujeres ... mi pana no hay otra que las iguale .... Son ÚNICAS, IRREPETIBLES e INIGUALABLES...!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Firma:&lt;br /&gt;&lt;br /&gt;¡¡¡ Un Venezolano SOMETÍO, ARRECHO Y COÑACEAO !!!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-4800996620822154626?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/4800996620822154626/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=4800996620822154626' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4800996620822154626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4800996620822154626'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/12/porque-las-mujeres-prefieren-vivir-en.html' title='Porque las mujeres prefieren vivir en Venezuela y no en Iran?'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8066338412052337088</id><published>2008-11-27T08:51:00.003-05:00</published><updated>2011-11-07T09:56:53.858-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apps'/><title type='text'>Iniciando con Entourage: quien lo hubiera dicho!!</title><content type='html'>&lt;a href="http://images.macnn.com/macnn/news/0711/13-entourage.jpg"&gt;&lt;img alt="" border="0" src="http://images.macnn.com/macnn/news/0711/13-entourage.jpg" style="cursor: hand; cursor: pointer; float: left; height: 140px; margin: 0 10px 10px 0; width: 230px;" /&gt;&lt;/a&gt;La verdad uno nunca sabe a donde lo llevara las vueltas del destino.&lt;br /&gt;&lt;br /&gt;Resulta que convencí a un amigo de pasarse de PC a Mac, y el estaba preocupado con respecto a que podría usar para sustituir el Outlook, que para el es muy importante.&lt;br /&gt;&lt;br /&gt;Yo le recomendé que echara un vistazo al Entourage de Office 2008:mac, porque tenia entendido que era parecido.&lt;br /&gt;&lt;br /&gt;Lo cierto es que, para poder hablarle con propiedad sobre el tema, anoche me puse a revisar el Entourage personalmente para ver que se podía hacer con el y que no... y quede PRENDADO!! En cuanto lo ejecute, un sencillo asistente me permitió importar todos mis correos, incluyendo la configuración de servidores entrantes y salientes, eventos y contactos de Mail, iCal y Address Book a la BD de Entourage, pero permitiendo a la vez que la información de eventos y contactos se mantenga sincronizada entre Entourage y las aplicaciones nativas de OSX (iCal y Address Book).&lt;br /&gt;&lt;br /&gt;La facilidad con que puedo relacionar correos, eventos de calendario, tareas y personas con proyectos y categorías es simplemente FASCINANTE. Para mi, que a diario me llegan correos de varios clientes y modifico o genero documentos relacionados con varios proyectos simultáneos, es una BENDICION poder tener un lugar central donde organizar todo.&lt;br /&gt;&lt;br /&gt;En fin: que les recomiendo AMPLIAMENTE que si nunca se han tomado la molestia de echar un ojo al Entourage... haganlo; no se arrepentirán y los puede sorprender como a mi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8066338412052337088?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/8066338412052337088/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=8066338412052337088' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8066338412052337088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8066338412052337088'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/11/iniciando-con-entourage-quien-lo.html' title='Iniciando con Entourage: quien lo hubiera dicho!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1499223541764657727</id><published>2008-11-15T10:25:00.004-05:00</published><updated>2011-11-07T09:58:16.658-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>MOVISTAR Venezuela: LADRONES!!!</title><content type='html'>&lt;a href="http://www.intomobile.com/wp-content/uploads/2008/06/apple-iphone-3g.jpg"&gt;&lt;img alt="" border="0" src="http://www.intomobile.com/wp-content/uploads/2008/06/apple-iphone-3g.jpg" style="cursor: hand; cursor: pointer; float: left; height: 230px; margin: 0 10px 10px 0; width: 200px;" /&gt;&lt;/a&gt;Es una VERGUENZA que Venezuela se gane el dudoso DOBLE PREMIO de ser el pais que vende el nuevo iPhone 3G al precio MAS CARO EN TODO EL MUNDO, y al mismo tiempo con el PEOR SERVICIO ASOCIADO.&lt;br /&gt;&lt;br /&gt;Estos ##^%^@%#^#%^#% han tenido LOS PANTALONES de "ofrecer" el iPhone 3G en Venezuela al "módico" precio de 2.500 BsF, poco mas de 1.000 US$ a cambio oficial y casi 500 US$ a cambio paralelo... y cuanto debería costar el iPhone al publico según Apple?  200 US$!!!! Es decir, que el precio real que Movistar debió haber aplicado tendría que estar entre los 430 y los 1000 BsF... PEQUEÑA diferencia!!!&lt;br /&gt;&lt;br /&gt;Ademas de este increíble precio de "oferta", te lo llevas:&lt;br /&gt;&lt;br /&gt;a) SIN internet ilimitado&lt;br /&gt;b) SIN acceso a la red 3G (porque simplemente NO EXISTE la red 3G de Movistar aun)&lt;br /&gt;c) CON acceso OBLIGATORIO a la reg GSM de movistar, es decir, que CON SUERTE puede que logres usarlo como teléfono.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sinceramente, espero que se le queden "abollados" la mitad de esos celulares POR LADRONES!!! Si fuéramos un pais un poco mas consciente de sus derechos como consumidores, simplemente nos NEGARIAMOS DE PLANO a comprarlo.&lt;br /&gt;&lt;br /&gt;Asi que ya saben: NO COMPREN EL IPHONE A MOVISTAR!!!  QUE ENTIENDAN QUE NO PUEDEN ROBARNOS DE UNA FORMA TAN DESCARADA!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1499223541764657727?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1499223541764657727/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1499223541764657727' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1499223541764657727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1499223541764657727'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/11/movistar-venezuela-ladrones.html' title='MOVISTAR Venezuela: LADRONES!!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2603741398317384391</id><published>2008-10-29T10:40:00.004-05:00</published><updated>2011-11-07T09:44:45.850-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><title type='text'>De Safari a Camino</title><content type='html'>&lt;a href="http://bp2.blogger.com/_Yusp5gTxE0w/RtsOvbQI6qI/AAAAAAAAAug/dBqWCzH7x74/s400/Camino+1.5.1+Browser+for+Mac+OS+X+logo.jpg"&gt;&lt;img alt="" border="0" src="http://bp2.blogger.com/_Yusp5gTxE0w/RtsOvbQI6qI/AAAAAAAAAug/dBqWCzH7x74/s400/Camino+1.5.1+Browser+for+Mac+OS+X+logo.jpg" style="cursor: hand; cursor: pointer; float: left; height: 180px; margin: 0 10px 10px 0; width: 200px;" /&gt;&lt;/a&gt;Safari es tremendo navegador.  Desde que hice el salto a OSX abandone mi querido Firefox sin mirar atras, cautivado por la elegancia y velocidad del Safari.&lt;br /&gt;&lt;br /&gt;Pero últimamente he notado que Safari se ha convertido en un verdadero monstruo devorador de memoria, al punto de llegar a consumir mas 500 Mb de RAM fisica. &lt;br /&gt;&lt;br /&gt;Cierto, tengo 3 GB de RAM... pero cuando tengo Paralells corriendo (512 Mb asignados), mas una docena de programas mas, ese consumo excesivo de Safari se convierte en un problema que afecta el rendimiento general de mi sistema.&lt;br /&gt;&lt;br /&gt;Luego de una rápida investigación en Google, encontré &lt;a href="http://caminobrowser.org/"&gt;Camino&lt;/a&gt;.  Su interfaz es todo lo "Mac-style" que se puede pedir, y según los documentos que lei, es casi tan rápido como Safari y mucho mas modesto en su consumo de memoria.&lt;br /&gt;&lt;br /&gt;Asi que a partir de hoy he configurado Camino como mi browser por omisión a ver que tal me va con el en las próximas semanas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2603741398317384391?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2603741398317384391/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2603741398317384391' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2603741398317384391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2603741398317384391'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/10/de-safari-camino.html' title='De Safari a Camino'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_Yusp5gTxE0w/RtsOvbQI6qI/AAAAAAAAAug/dBqWCzH7x74/s72-c/Camino+1.5.1+Browser+for+Mac+OS+X+logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1910056686273651676</id><published>2008-09-16T14:48:00.001-06:00</published><updated>2008-09-16T14:48:30.916-06:00</updated><title type='text'>Nostalgia
</title><content type='html'>El domingo pasado mi tia me regalo algunos de los CDs que pertenecieron a mi difunto Tio Ricardo.&lt;br /&gt;&lt;br /&gt;Hoy empeze a escucharlos, en especial uno de Antonio Carlos Jobim.... y me parece estar ahi, en la sala de la casa de mi tio, el sentado en posicion de indio en su sillon preferido y llevando el ritmo de la bossanova con los dedos y los ojos cerrados....&lt;br /&gt;&lt;br /&gt;Se te extraña Richard... :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1910056686273651676?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1910056686273651676/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1910056686273651676' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1910056686273651676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1910056686273651676'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/09/nostalgia.html' title='Nostalgia&#xA;'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7720516524374466207</id><published>2008-09-15T21:02:00.001-06:00</published><updated>2011-11-07T09:46:19.059-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pink Floyd'/><category scheme='http://www.blogger.com/atom/ns#' term='Musica'/><title type='text'>Adios a Richard Wright</title><content type='html'>Ha muerto Richard Wright, fundador de esa leyenda del rock llamada Pink Floyd, de un cancer a la edad de 65 años.&lt;br /&gt;&lt;br /&gt;Richard Wright, en compañia de Syd Barret, Roger Water, Nick Mason y David Gilmour, cambiaron la historia del rock con el estilo de la música y las letras de esa legendaria agrupación.&lt;br /&gt;&lt;br /&gt;AUn hoy, para mi, el concierto en vivo de Pink Floyd titulado Pulse es una de las cosas mas &amp;nbsp;espectaculares que haya visto, y no pasa UN SOLO DIA sin que escuche al menos una pieza de Dark side of the moon o Division Bell.&lt;br /&gt;&lt;br /&gt;Que descanse en paz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7720516524374466207?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7720516524374466207/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7720516524374466207' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7720516524374466207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7720516524374466207'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/09/adios-richard-wright.html' title='Adios a Richard Wright'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-9052116886093635472</id><published>2008-09-14T16:04:00.001-06:00</published><updated>2008-09-14T16:04:42.825-06:00</updated><title type='text'>Living in Maracaibo!!!
</title><content type='html'>Despues de muchos años alejado de mi tierra natal, el mal servicio de Eleoccidente, las terribles limitaciones en las conexiones areas entre Falcon y el resto de Venezuela, y otras eventualidades que no vienen al caso, he vuelto a instalarme en esta mi Maracaibo querida.&lt;br /&gt;&lt;br /&gt;Temor? bastante... espectativas? MUCHAS!! solo el tiempo dira que nos traerá este giro inesperado del destino.&lt;br /&gt;&lt;br /&gt;Por ahora, solo puedo decir:&lt;br /&gt;&lt;br /&gt;Cuando voy a Maracaibo&lt;br /&gt;y empezo a pasar El Puente&lt;br /&gt;siento una emoción tan grande&lt;br /&gt;que se me nubla la mente...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-9052116886093635472?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/9052116886093635472/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=9052116886093635472' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/9052116886093635472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/9052116886093635472'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/09/living-in-maracaibo.html' title='Living in Maracaibo!!!&#xA;'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7367134833691741577</id><published>2008-09-02T13:36:00.002-06:00</published><updated>2011-11-07T09:46:27.186-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><title type='text'>OSX: Como hacer que tu Mac anuncie que tienes nuevo correo</title><content type='html'>OSX no deja de sorprenderme todos los dias. &amp;nbsp;Hoy se me ocurrió la idea de que, dado que las voces integradas de OSX son muy agradables (especialmente Vicki), seria genial que la computadora me anunciara cuando reciba correo nuevo.&lt;br /&gt;&lt;br /&gt;Una rápida búsqueda en Google me llevo a una página donde mostraban como crear un script de AppleScript que no anuciara el remitente y el asunto de cada nuevo mensaje recibido en Mail.&lt;br /&gt;&lt;br /&gt;Usando este script como base, y cambiando un par de lineas, logre crear el script que queria... todo en cuestion de algunos minutos.&lt;br /&gt;&lt;br /&gt;He aqui el script:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;using terms from&lt;/b&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;application&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: black;"&gt;"Mail"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;on&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;perform mail action with messages&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: #408000;"&gt;newMessages&lt;/span&gt;&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;repeat&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;with&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;newMessage&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;in&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;newMessages&lt;br /&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;tell&lt;/b&gt;&lt;/span&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;application&lt;/span&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;"Mail"&lt;br /&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;say&lt;/span&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;"You have new mail"&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;using&lt;/span&gt;&lt;span style="font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;"Vicki"&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;b&gt;end&lt;/b&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;b&gt;tell&lt;/b&gt;&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;b&gt;exit&lt;/b&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt;&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;b&gt;end&lt;/b&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;b&gt;repeat&lt;/b&gt;&lt;br /&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2900ff;"&gt;&lt;b&gt;end&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;perform mail action with messages&lt;br /&gt;&lt;b&gt;end&lt;/b&gt;&lt;span style="color: black; font: normal normal normal 12px/normal Helvetica;"&gt; &lt;/span&gt;&lt;b&gt;using terms from&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Para hacerlo funcionar, solo hay que copiar el código en una ventana nueva de ScriptEditor, grabarlo y luego crear una nueva regla en Mail para "Any message" y cuya accion sea "AppleScript"; seleccionas el script que creaste y pones la regla al final de las demas reglas que existan.  &lt;br /&gt;&lt;br /&gt;La siguiente vez que recibas un correo, tu Mac te lo anunciara con la seductora voz de Vicki. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7367134833691741577?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7367134833691741577/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7367134833691741577' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7367134833691741577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7367134833691741577'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/09/osx-como-hacer-que-tu-mac-anuncie-que.html' title='OSX: Como hacer que tu Mac anuncie que tienes nuevo correo'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2466920291433025249</id><published>2008-08-02T17:44:00.004-06:00</published><updated>2011-11-07T09:46:36.359-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET: Ubicar un control dentro de un FormView</title><content type='html'>Una de las cosas mas frustrantes de ASP.NET es el hecho de no poder acceder directamente a objetos que estan contenidos dentro de otros objetos contenedores tales como FormView, MultiView, etc.&lt;br /&gt;&lt;br /&gt;Para estos casos, se puede obtener una referencia a estos objetos contenidos utilizando el metodo &lt;span style="font-weight: bold;"&gt;FindControl()&lt;/span&gt; del objeto contenedor:&lt;br /&gt;&lt;br /&gt;LinkButton myLink = FormView1.Row.FindControl("lnkGrabar");&lt;br /&gt;&lt;br /&gt;Pero, como es comun en ASP.NET, esto no funciona en todos los casos.  Por alguna razon, el método FindControl() parece solo funcionar sobre los objetos ubicados en el ItemTemplate del FormView, asi que si intentamos encontrar un objeto ubicado en otro template, digamos EditItemTemplate, terminamos con un mensaje como este:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="color: red;"&gt;System.NullReferenceException: Object reference not set to an instance of an object&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La solucion (al menos para algunos casos)? usar el evento PreRender del objeto que deseamos accesar.  Este evento recibe como primer parametro una referencia al objeto, por lo que podemos hacer cosas como esta:&lt;br /&gt;&lt;br /&gt;((LinkButton)sender).Attributes.Add("onclick","....");&lt;br /&gt;&lt;br /&gt;No es perfecto, pero al menos soluciona en ciertos casos.&lt;br /&gt;&lt;br /&gt;Mas informacion &lt;a href="http://www.codenewsgroups.net/group/microsoft.public.dotnet.framework.aspnet.webcontrols/topic9172.aspx"&gt;aqui.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2466920291433025249?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2466920291433025249/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2466920291433025249' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2466920291433025249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2466920291433025249'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/08/aspnet-ubicar-un-control-dentro-de-un.html' title='ASP.NET: Ubicar un control dentro de un FormView'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2901083331189255921</id><published>2008-06-04T09:47:00.002-06:00</published><updated>2008-06-04T10:18:30.774-06:00</updated><title type='text'>Adios a Richard... o mas bien hasta luego</title><content type='html'>Hace tiempo que no escribía nada aquí y que malo que sea en ocasión de algo tan triste como la muerte.&lt;br /&gt;&lt;br /&gt;Este pasado 1ro de Junio de 2008 murió mi tio &lt;span style="font-weight:bold;"&gt;Ricardo Colmenares Baralt&lt;/span&gt;. Tio Ricardo, o Richard como siempre le decía, fue en muchos aspectos como un padre para mi. Siempre estuvo allí para aconsejarme, conversar sobre política, ciencia o bossanova, y hacerme reir con sus chistes siempre cargados del mas fino humor negro.&lt;br /&gt;&lt;br /&gt;Que descase en paz y nos vemos por alla.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2901083331189255921?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2901083331189255921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2901083331189255921' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2901083331189255921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2901083331189255921'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/06/adios-richard-o-mas-bien-hasta-luego.html' title='Adios a Richard... o mas bien hasta luego'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2539955878543925567</id><published>2008-04-25T10:56:00.001-06:00</published><updated>2011-11-07T09:46:48.006-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Los precios de los MacPro son exagerados? Think twice!!!</title><content type='html'>&lt;table cellspacing="0" style="height: 100%; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="txttop" style="color: #111111; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 15px; text-decoration: none; text-transform: none; vertical-align: top;"&gt;Hoy estuve viendo una discusion en Engadget, donde basicamente se hablaba del sobreprecio que Apple aplica a sus equipos, en especial al MacPro.&lt;br /&gt;&lt;br /&gt;No dudo que es posible armar una configuracion de MacPro que supere los 6K US$, pero me puse a hacer un ejercicio con la pagina de Dell, y miren lo que encontre:&lt;br /&gt;&lt;br /&gt;Configuracion basica para la comparacion:&lt;br /&gt;1 Procesador Interl Xeon Quad-Core a 2.8 Ghz&lt;br /&gt;2 GB de RAM&lt;br /&gt;320 HD a 7200 RPM&lt;br /&gt;Tarjeta grafica nVidia de 512 MB&lt;br /&gt;Superdrive a 16x&lt;br /&gt;Sin monitor&lt;br /&gt;3 anos de garantia&lt;br /&gt;&lt;br /&gt;Y fijense los resultados:&lt;br /&gt;&lt;br /&gt;Apple MacPro:&lt;br /&gt;&lt;a href="http://www.victorespina.com/public/Apple%20MacPro.pdf" style="color: #34b5d4; text-decoration: none;" target="_blank"&gt;http://www.victorespina.com/public/Apple%20MacPro.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dell Precision 7400:&lt;br /&gt;&lt;a href="http://www.victorespina.com/public/Dell%20Precision%20T7400.pdf" style="color: #34b5d4; text-decoration: none;" target="_blank"&gt;http://www.victorespina.com/public/Dell%20Precision%20T7400.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Increiblemente, la Dell resulto costando casi EL DOBLE que el MacPro con esas mismas caracteristicas!!!&lt;br /&gt;&lt;br /&gt;Entonces, quien es el que esta robando? Apple o Dell?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2539955878543925567?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2539955878543925567/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2539955878543925567' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2539955878543925567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2539955878543925567'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/04/apple-los-precios-de-los-macpro-son.html' title='Apple: Los precios de los MacPro son exagerados? Think twice!!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-1035692606002915347</id><published>2008-04-21T21:02:00.001-06:00</published><updated>2011-11-07T09:47:00.002-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Musica'/><title type='text'>Descubriendo a Coldplay</title><content type='html'>Hace una semana tuve la oportunidad de escuchar por primera vez los dos ultimos discos de la agrupacion Coldplay, y la verdad quede IMPRESIONADO por la calidad musical y la marca tan personal que saben imprimirle a su musica... simplemente ESPECTACULAR.&lt;br /&gt;&lt;br /&gt;Tengo ya una hora escuchando la cancion "Don't Panic" del disco "Parachutes", y no me canso de la armonia tan "psicodelica" que logra el guitarrista, con ese estilo tan propio de ellos.&lt;br /&gt;&lt;br /&gt;Geniales!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-1035692606002915347?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/1035692606002915347/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=1035692606002915347' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1035692606002915347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/1035692606002915347'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/04/descubriendo-coldplay.html' title='Descubriendo a Coldplay'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5583907038651813332</id><published>2008-04-11T17:31:00.001-06:00</published><updated>2011-11-07T09:47:11.158-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Safari vs Firefox</title><content type='html'>Una de las sorpresas mas inesperadas que me he encontrado en mi nueva vida como usuario Mac es el hecho de no usar mas mi querido Firefox.&lt;br /&gt;&lt;br /&gt;Use el Firefox casi desde sus primeras versiones y desde ese momento solo use el IE en muy raras ocasiones o para probar la compatibilidad de un codigo HTML con ese navegador.&lt;br /&gt;&lt;br /&gt;Cuando me pase a Mac, lo primero que hice fue bajarme e instalar el FireFox para Mac... pero por muchas referencias que habia leido sobre Safari, empeze a probarlo ocasionalmente....y quede enganchado con la simpleza y velocidad de ese navegador.&lt;br /&gt;&lt;br /&gt;Sin darme cuenta, empeze a cargar el safari mas y mas a menudo, hasta que cai en cuenta que habian pasado SEMANAS desde la ultima vez que habia cargado el Firefox.&lt;br /&gt;&lt;br /&gt;Al dia de hoy, safari siempre esta abierto en mi dock y solo acudo al firefox en el muy pero muy raro caso que una pagina dada no funcione bien en safari.&lt;br /&gt;&lt;br /&gt;Ojala que pronto Apple pueda llevar esta misma experiencia a su version de Safari para Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5583907038651813332?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5583907038651813332/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5583907038651813332' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5583907038651813332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5583907038651813332'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/04/apple-safari-vs-firefox.html' title='Apple: Safari vs Firefox'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-4573325896362044110</id><published>2008-04-10T15:10:00.002-06:00</published><updated>2011-11-07T09:47:23.176-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Tech: Querian algo revolucionario? aqui esta eCoupled!!</title><content type='html'>Hace algun tiempo lei en una columna sobre un WWDC, que Steve Jobs gustaba de usar el adjetivo "Revolucionario" con cada nuevo gadget que sacaba al mercado.&lt;br /&gt;&lt;br /&gt;El autor de la columna decia que la palabra correcta era mas bien "Evolucionario", pues en la practica no se trataba mas que de viejas ideas con nuevas mejoras, y que cuando alguien saliera con un mecanismo para transmitir energia electrica sin necesidad de cables, AHI si estariamos hablando de algo revolucionario.&lt;br /&gt;&lt;br /&gt;Pues adivinen que? ese dia LLEGO. &amp;nbsp;La gente de &lt;span style="font-weight: bold;"&gt;Fulton Innovation&lt;/span&gt; ha sacado a la luz publica una tecnologia que han venido desarrollando durante los ultimos 10 años y que, adivinaron, permite hacer exactamente eso: transmitir energia inalambricamente a un dispositivo para recargar su bateria.&lt;br /&gt;&lt;br /&gt;La tecnologia es tan asombrosa, que la base "cargadora" puede detectar los dispositivos compatibles con la tecnologia, llamada eCoupled, determinar el estado de la bateria y su necesidad de carga, y transmitirle solo la cantidad de energia que necesita el dispositivo, pudiendo incluso manejar varios dispositivos simultaneamente.&lt;br /&gt;&lt;br /&gt;Segun su fabricante, la tecnologia puede ser aplicada a toda clase de dispositivos, desde celulares y PDAs hasta artefactos del hogar.&lt;br /&gt;&lt;br /&gt;Se imaginan? llegas a tu casa con tu celular descargado y automaticamente el mismo empieza a recargarse sin necesidad de conectarlo a ninguna base. No mas cargadores perdidos o problemas con los distintos conectores de corriente, pues seguramente los espacios publicos contaran con dispositivos de carga gratuitos instalados estrategicamente.&lt;br /&gt;&lt;br /&gt;Un paso mas para un mundo libre de cables y conectores.&lt;br /&gt;&lt;br /&gt;Mas informacion aqui:&lt;br /&gt;&lt;a href="http://www.ecoupled.com/index.html"&gt;http://www.ecoupled.com/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-4573325896362044110?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/4573325896362044110/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=4573325896362044110' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4573325896362044110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/4573325896362044110'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/04/tech-querian-algo-revolucionario-aqui.html' title='Tech: Querian algo revolucionario? aqui esta eCoupled!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7973409012780420228</id><published>2008-02-20T11:05:00.001-05:00</published><updated>2011-11-07T09:47:38.846-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Desbloquear el iPhone con el system 1.1.3</title><content type='html'>El amigo ALGERNON del foro &lt;a href="http://www.applerama.com.ar/"&gt;Applerama&lt;/a&gt;&amp;nbsp;publicó una guia para desbloquear los iPhones con system 1.1.3 via software:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cacharros.wordpress.com/2008/02/17/actualiza-tu-iphone-a-la-version-113/" style="color: #9136ad; text-decoration: none;"&gt;http://cacharros.wordpress.com/2008/02/17/actualiza-tu-iphone-a-la-version-113/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Segun vi funciona con cualquier iPhone. Mas informacion aqui:&lt;br /&gt;&lt;a href="http://www.applerama.com.ar/ibar/viewtopic.php?t=514" style="color: #247cd4; text-decoration: none;"&gt;http://www.applerama.com.ar/ibar/viewtopic.php?t=514&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7973409012780420228?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7973409012780420228/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7973409012780420228' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7973409012780420228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7973409012780420228'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/02/desbloquear-el-iphone-con-el-system-113.html' title='Desbloquear el iPhone con el system 1.1.3'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-9185554963587428427</id><published>2008-02-16T17:23:00.001-05:00</published><updated>2011-11-07T09:47:47.614-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><title type='text'>Mac: Pon a hibernar to iMac con DeepSleep</title><content type='html'>Una de las pocas cosas que estaba extrañando de mi antigua Laptop era la habilidad de Hibernar, es decir, grabar el contenido de la memoria de la portatil antes de apagarla, de modo que al encenderla de nuevo todo volviera a como estaba antes de apagarla.&lt;br /&gt;&lt;br /&gt;En Mac esto se llama "Sleep" pero se comporta de forma diferente a las PCs: aqui la RAM se mantiene alimentada por una pequeña cantidad de energia, de modo que cuando se levanta la tapa de la MacBook o MacBook Pro, el sistema se restaura inmediatamente, y mucho mas rapido que Windows debido a que no tiene que leer el contenido de la RAM desde el disco (en Windows tambien existe esta funcion, con el nombre Suspender).&lt;br /&gt;&lt;br /&gt;OS X tambien incluye una versión de la función de hibernación de Windows, llamada "Safe sleep", la cual viene desactivada por omisión pero se puede activar a voluntad mediante un pequeño comando en Terminal.&lt;br /&gt;&lt;br /&gt;El problema es que una iMac no es una portatil, y por tanto no hay una "tapa" que cerrar para activar la función de Safe Sleep. Por lo tanto, desde que compre mi iMac he tenido que pasar por el proceso completo de apagarla y arrancarla desde cero cada vez que tengo que moverla de un lugar a otro.&lt;br /&gt;&lt;br /&gt;Hasta que hoy me topé con un programa genial llamado &lt;a href="http://deepsleep.free.fr/"&gt;DeepSleep&lt;/a&gt;, el cual es un Widget que permite activar la función del SafeSleep en la mayoria de los equipos nuevos de Apple, incluyendo por supuesto la iMac Intel.&lt;br /&gt;&lt;br /&gt;La configuración es muy sencilla y su uso aun más... simplemente se activa el Dashboard, se hace click en el Widget y listo!! la iMac graba el contenido de la memoria en el disco y luego se apaga. &amp;nbsp;Al encenderla de nuevo, se ve un screenshot de la pantalla como estaba al momento de apagarse y una barra que muestra el avance de la restauracion de la memoria. Una vez finalizado ese proceso, la Mac queda lista para ser usada tal cual como estaba la última vez.&lt;br /&gt;&lt;br /&gt;El tiempo que toma para gabar la RAM a disco y luego cargarla de nuevo depende de la cantidad de RAM instalada y en uso para el momento. En mi caso, con 3 GB de RAM casi completamente usados, tardo alrededor de 20 seg.&lt;br /&gt;&lt;br /&gt;Y lo mejor de todo: es gratuito. :)&lt;br /&gt;&lt;br /&gt;http://deepsleep.free.fr/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-9185554963587428427?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/9185554963587428427/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=9185554963587428427' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/9185554963587428427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/9185554963587428427'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/02/mac-pon-hibernar-to-imac-con-deepsleep.html' title='Mac: Pon a hibernar to iMac con DeepSleep'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3867353481179320943</id><published>2008-02-11T20:52:00.002-05:00</published><updated>2008-02-16T15:57:06.427-05:00</updated><title type='text'>Un domingo especial con Sumito Estevez y el CMUG</title><content type='html'>&lt;img src="http://farm3.static.flickr.com/2213/2257008566_6305343a05_m.jpg" /&gt;&lt;br /&gt; Ayer domingo mi esposa, mi hija menor y yo disfrutamos de un dia especial en la escuela de cocina de Sumito en Chuao.&lt;br /&gt;&lt;br /&gt;El hombre organizó una "comilona" para los miembros del Caracas Macintosh User Group, lo que nos dió la oportunidad perfecta para conocernos en persona, en medio de un ambiente de camaredería, buen vino y una comida exquisita.&lt;br /&gt;&lt;br /&gt;Para mi, como miembro reciente del CMUG, fuen una experiencia única la de poder poner cara a muchos nombres que ya me son conocidos por su participación en el grupo.&lt;br /&gt;&lt;br /&gt;Las fotos &lt;a href="http://www.flickr.com/photos/23667661@N04/"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3867353481179320943?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3867353481179320943/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3867353481179320943' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3867353481179320943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3867353481179320943'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2008/02/un-domingo-especial-con-sumito-estevez.html' title='Un domingo especial con Sumito Estevez y el CMUG'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2213/2257008566_6305343a05_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3479812562438223276</id><published>2007-11-20T18:16:00.000-05:00</published><updated>2011-11-07T09:47:56.148-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Cambie de Mac!!</title><content type='html'>Bien decía mi mama que "Dios sabe por que hace las cosas...".  Resultó que por un error en el número de la tarjeta, la compra de la MacBook no procedió.&lt;br /&gt;&lt;br /&gt;Este contratiempo coincidió con una visita inesperada al MacStore del Sambil Maracaibo, en donde me quedé asombrado por dos cosas:&lt;br /&gt;&lt;br /&gt;a) Lo PEQUEÑA que era realmente la MacBook.  Hasta ese momento, nunca había visto una MB en persona y siempre me había guiado por las imágenes y videos que se consiguen en la red, y no me había parecido tan pequeña... pero si lo es... la pantalla es MINUSCULA.&lt;br /&gt;&lt;br /&gt;b) Lo ESPECTACULAR que es el iMac de 20".... es una cosa  de OTRO MUNDO... me quede simplemente ESTUPEFACTO... Carla me dijo: si no te compras esa estas LOCO!&lt;br /&gt;&lt;br /&gt;Asi que cancelé mi orden original y ahora soy el feliz dueño de una flamante iMac 20" aluminio, Intel C2D 2.0 Ghz, 2 GB RAM y 250 GB en DD.&lt;br /&gt;&lt;br /&gt;Como una imagen vale mas que mil palabras, échenle un vistazo aquí:&lt;br /&gt;&lt;a href="http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?nnmm=browse&amp;amp;mco=7B723646&amp;amp;node=home/shop_mac/family/imac"&gt;Apple iMac 20"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3479812562438223276?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3479812562438223276/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3479812562438223276' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3479812562438223276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3479812562438223276'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/11/cambie-de-mac.html' title='Cambie de Mac!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6564325873209908853</id><published>2007-11-14T20:25:00.000-05:00</published><updated>2011-11-07T09:48:05.432-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>AL FIN!!! COMPRE MI PRIMERA MAC!!!</title><content type='html'>Hoy, POR FIN,  pude comprar mi primera Mac en linea, desde la tienda de Amazon.&lt;br /&gt;&lt;br /&gt;Mi flamante MacBook 2.2 Ghz Santa Rosa con 2 GB de RAM, 120 GB en DD y unidad Superdrive DVD-RW debe estar llegando a mis manos para finales de este mes.&lt;br /&gt;&lt;br /&gt;Asi que, a partir de diciembre seré oficialmente un switcher, habré pasado al "lado oscuro" y los virus, guindes, reiniciadas, caídas, reinstaladas de SO y demas hierbas comunes a los desdichados usuarios de Windows pasarán a ser no mas que un mal recuerdo.&lt;br /&gt;&lt;br /&gt;Para los que nunca han visto una Mac, pueden ver esta belleza aqui:&lt;br /&gt;&lt;a href="http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?nnmm=browse&amp;amp;mco=7B723640&amp;amp;node=home/shop_mac/family/macbook"&gt;MacBook en el AppleStore&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O si la quieren ver en vivo y directo:&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=H82U8O1h5KE&amp;amp;feature=related"&gt;MacBook en YouTube&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6564325873209908853?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6564325873209908853/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6564325873209908853' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6564325873209908853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6564325873209908853'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/11/al-fin-compre-mi-primera-mac.html' title='AL FIN!!! COMPRE MI PRIMERA MAC!!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-7077239306956230675</id><published>2007-11-08T11:12:00.001-05:00</published><updated>2011-11-07T09:57:27.237-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Leopard tras las huellas de Vista?</title><content type='html'>Esta semana se ha hecho mucho ruido con respecto a las decenas de problemas que se han descubierto en el recientemente liberado OS X 10.5 Leopard.&lt;br /&gt;&lt;br /&gt;Cosas desde "freezes" causados por problemas con la tarjeta de video en las iMac hasta la odiadada "Blue Screen of Death", que hasta ahora era propiedad exclusiva de Windows, pasando por reportes de potenciales pérdidas de datos al mover archivos a un volumen remoto, estan causando malestar en la base de usuarios de Apple.&lt;br /&gt;&lt;br /&gt;Es cierto que lanzar una revisión completa de un sistema operativo como OSX siempre tendrá errores que hay que detectar y corregir, pero luego de lo mucho que Apple ha explotado el desastre que ha sido Vista, cae muy mal que Leopard vaya por el mismo camino.&lt;br /&gt;&lt;br /&gt;En un post de ZDNet un usuario hizo la siguiente parodia, que me pareció genial:&lt;br /&gt;&lt;br /&gt;MAC: Hi, I am a Mac&lt;br /&gt;PC: Hi, I am a PC&lt;br /&gt;PC: Mac, what are you doing?&lt;br /&gt;MAC: I'm logging in... I'm logging in... I'm logging in... I'm logging in... I'm logging in...&lt;br /&gt;&lt;br /&gt;Esto aludiendo a un nuevo fallo al actualizar de Tiger a Leopard que puede causar que el sistema se quede en un loop infinito tratando de procesar el inicio de sesión.&lt;br /&gt;&lt;br /&gt;Esperemos que todos estos fallos sean corregidos a la brevedad posible con un System Update.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-7077239306956230675?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/7077239306956230675/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=7077239306956230675' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7077239306956230675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/7077239306956230675'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/11/apple-leopard-tras-las-huellas-de-vista.html' title='Apple: Leopard tras las huellas de Vista?'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3541088166113379037</id><published>2007-11-08T11:08:00.000-05:00</published><updated>2011-11-07T09:49:19.176-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Bumtop 3D: Maneje su escritorio en "VR"</title><content type='html'>Hoy me encontré con este link, que muestra una demostración de un software llamado BumTop 3D, el cual plantea una nueva forma de manejar su escritorio en una computadora, en un ambiente de realidad virtual.&lt;br /&gt;&lt;br /&gt;El video es bastante impresionante, aunque lamentablemente el software aun no está disponible para el público. Mas allá de lo práctico que resulte ser en el día a día, son estas innovaciones las que abren nuevos caminos en los paradigmas de interfaces de usuario.&lt;br /&gt;&lt;br /&gt;Pueden ver el video &lt;a href="http://www.youtube.com/watch?v=M0ODskdEPnQ"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3541088166113379037?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3541088166113379037/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3541088166113379037' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3541088166113379037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3541088166113379037'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/11/bumtop-3d-maneje-su-escritorio-en-vr.html' title='Bumtop 3D: Maneje su escritorio en &quot;VR&quot;'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3538816422180062524</id><published>2007-10-15T06:46:00.000-05:00</published><updated>2011-11-07T09:49:25.313-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>Pablo Roca y los MVP</title><content type='html'>La semana pasada M$ anunció la lista de los nuevos MVPs y donde no apareció incluido mi buen amigo Pablo Roca.&lt;br /&gt;&lt;br /&gt;Por si a estas alturas aun queda algún programador de VFP que no sepa quien es Pablo Roca, es nada mas y nada menos que el fundador de &lt;a href="http://www.portalfox.com/"&gt;PortalFox&lt;/a&gt;, el mayor portal de habla hispana sobre VFP, que ya tiene mas de 28.000 usuarios en todo el mundo.&lt;br /&gt;&lt;br /&gt;Obviamente las razones de porque M$ excluyó a Pablo luego de varios años de otorgarle merecidamente el premio, nunca las sabremos.  Pero en nuestra opinión, se trata de una represalia por la campaña &lt;a href="http://www.masfoxpro.com/"&gt;MasFoxPro&lt;/a&gt;, que TAMBIEN fué ideada y liderizada por Pablo, dado que los méritos por los cuales M$ le venía otorgando ese premio a Pablo año tras año SIGUEN siendo válidos hoy en dia... la unica "diferencia" entre esta entrega y las otras es, justamente, la campaña MasFoxPro.&lt;br /&gt;&lt;br /&gt;Lo que M$ no ve y nunca entenderá es que Pablo ni nadie en la comunidad Fox necesita sus "piches" premios para ser reconocido; el mejor reconocimiento es el que le damos todos nosotros cuando aplicamos tantas cosas aprendidas de él y otros que, como él, dedican algunos minutos TODOS LOS DIAS a ayudar a otros programadores Fox.&lt;br /&gt;&lt;br /&gt;Animo Pablo! PortalFox seguirá incluso cuando nadie en M$ se acuerde que ellos vendian algo llamado "FoxPro".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3538816422180062524?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3538816422180062524/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3538816422180062524' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3538816422180062524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3538816422180062524'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/10/pablo-roca-y-los-mvp.html' title='Pablo Roca y los MVP'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-2703425691425127772</id><published>2007-10-04T16:10:00.000-06:00</published><updated>2011-11-07T09:49:31.827-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Como instalar el SP4 de MSDE 2000</title><content type='html'>Hoy me tocó instalar el SP4 para MSDE 2000 y, como es costumbre en M$, las cosas no resultaron ser tan sencillas como esperaba.&lt;br /&gt;&lt;br /&gt;No se Uds, pero yo cuando voy a hacer una actualización como esta espero que las cosas funcionen mas o menos asi:&lt;br /&gt;&lt;br /&gt;a) Descargo el instalador de la actualización&lt;br /&gt;b) Ejecuto el instalador&lt;br /&gt;c) Sigo las instrucciones en pantalla&lt;br /&gt;d) Selecciono las opciones que se acomoden a mi instalación particular&lt;br /&gt;e) Ejecuto el proceso&lt;br /&gt;&lt;br /&gt;Pues resulta que con este SP4 solo pude llegar a la opción b)... luego de mucho investigar los múltiples mensajes que me salían, me encontré con que el instalador había que ejecutarlo DESDE LA LINEA DE COMANDOS... imagínense nada mas... en pleno siglo XXI y aun teniendo que ejecutar cosas en la linea de comandos.&lt;br /&gt;&lt;br /&gt;En fin, por si algun otro desgraciado le toca vivir esto, aqui esta mi granito de arena para aliviar la carga.&lt;br /&gt;&lt;br /&gt;a) Abre una ventana de comandos&lt;br /&gt;b) Haga CD hasta la carpeta donde instalo los archivos del SP4, en mi caso era C:\SQL2KSP4\MSDE&lt;br /&gt;c) Ejecute el comando: SETUP /upgradesp sqlrun -L*v c:\MSDELog.log&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;IMPORTANTE:&lt;/span&gt;&lt;br /&gt;Esto es partiendo del punto que su instalación MSDE usa la instancia por defecto. Si su instalación incluye una instancia con nombre, debe incluir el parametro INSTANCENAME=instancia luego de "sqlrun".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-2703425691425127772?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/2703425691425127772/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=2703425691425127772' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2703425691425127772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/2703425691425127772'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/10/como-instalar-el-sp4-de-msde-2000.html' title='Como instalar el SP4 de MSDE 2000'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6537752107469268169</id><published>2007-09-24T09:01:00.001-06:00</published><updated>2011-11-07T09:49:38.530-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: Ejecutar un script SQL por código</title><content type='html'>Hoy me encontré con una pregunta en foro de programadores de VFP, sobre como hacer para ejecutar un script SQL desde VFP.&lt;br /&gt;&lt;br /&gt;Me topé con este problema hace ya unos cuantos años, y recuerdo que fue muy frustrante darme cuenta que el comando SQLEXEC() no estaba diseñado para ejecutar varias instrucciones sino mas bien una sola.&lt;br /&gt;&lt;br /&gt;En aquel tiempo se me ocurrió que dado que en un script SQL todas las instrucciones se terminan con un comando GO, se podría utilizar este comando como un "separador", a fin de aplicar un "parsing" al script SQL y usar SQLEXEC() para ejecutar cada instrucción individualmente.&lt;br /&gt;&lt;br /&gt;El código pueden copiarlo desde el artículo original en mi website:&lt;br /&gt;&lt;a href="http://www.victorespina.com.ve/hs/es/index.php/Como_ejecutar_un_script_SQL_desde_VFP_%28VFP%29"&gt;Como ejecutar un script SQL desde VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6537752107469268169?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6537752107469268169/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6537752107469268169' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6537752107469268169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6537752107469268169'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/09/vfp-ejecutar-un-script-sql-por-cdigo.html' title='VFP: Ejecutar un script SQL por código'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3946464687085397106</id><published>2007-09-11T17:52:00.001-06:00</published><updated>2011-11-07T09:49:46.252-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET 2.0: Encontrar un control en el HeaderTemplate de un WizardControl</title><content type='html'>Bueno, AL FIN encontré algo de tiempo para desempolvar este blog y ver si ahora si (por enésima vez) me propongo actualizarlo frecuentemente.&lt;br /&gt;&lt;br /&gt;Hoy descubrí la maravilla del &lt;span style="font-weight: bold;"&gt;Wizard Control&lt;/span&gt; del ASP.NET 2.0, y como con todas las cosas que tienen que ver en particular con ASP.NET y en general con MS, la alegría no tardo en dar paso a la frustación.&lt;br /&gt;&lt;br /&gt;RESULTA que el WizardControl permite configurar un encabezado usando el tag HeaderTemplate, en donde se puede colocar lo que uno quiera, incluyendo casi cualquier tipo de control.&lt;br /&gt;&lt;br /&gt;En mi caso, tenia un panel con un table adentro que queria mostrar bajo ciertas condiciones. Por lo tanto, intente obtener una referencia al panel usando el consabido FindControl:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Dim myPanel As Panel&lt;br /&gt;myPanel = CType(Me.Wizard1.FindControl("pnlError"),pnlError)&lt;/pre&gt;&lt;br /&gt;Según la documentación de MS, esto debería funcionar sin problemas... la clave aqui esta en "DEBERIA". Resulta que NO funciona.  Investigando en San Google, y luego de mucho buscar, me encontré con la maravilla de el método FindControl no recorre todos los objetos en su búsqueda por el objeto cuyo ID se le indicó.&lt;br /&gt;&lt;br /&gt;La siguiente función (originalmente hecha en C# por &lt;span style="font-weight: bold;"&gt;JS  Greenwood&lt;/span&gt;) soluciona este "problemita", buscando un control en TODOS los controles contenidos en el contenedor indicado:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Public Function MyFindControl(ByVal parent As Control, _&lt;br /&gt;                              ByVal id As String) As Control&lt;br /&gt;     If parent.ID = id Then&lt;br /&gt;         Return parent&lt;br /&gt;     End If&lt;br /&gt;     Dim child As Control&lt;br /&gt;     For Each child In parent.Controls&lt;br /&gt;         Dim recurse As Control = MyFindControl(child, id)&lt;br /&gt;         If Not recurse Is Nothing Then&lt;br /&gt;             Return recurse&lt;br /&gt;         End If&lt;br /&gt;     Next&lt;br /&gt;     Return Nothing&lt;br /&gt;End Function&lt;/pre&gt;&lt;br /&gt;Entonces, ahora en lugar de usar el FindControl del WizardControl usamos la funcion MyFindControl:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Dim myPanel As Panel&lt;br /&gt;myPanel = CType(MyFindControl(Me.Wizard1,"pnlError"),pnlError)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El link original del artículo de JS Greenwood lo pueden encontrar aqui:&lt;br /&gt;&lt;a href="http://www.asptoday.com/Content.aspx?id=2359"&gt;http://www.asptoday.com/Content.aspx?id=2359&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Victor Espina&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3946464687085397106?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3946464687085397106/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3946464687085397106' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3946464687085397106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3946464687085397106'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/09/aspnet-20-encontrar-un-control-en-el.html' title='ASP.NET 2.0: Encontrar un control en el HeaderTemplate de un WizardControl'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-3850103097092570086</id><published>2007-04-03T14:15:00.001-06:00</published><updated>2011-11-07T09:49:53.118-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: MS Respondio a  MasFoxPro</title><content type='html'>&lt;em&gt;El blog de &lt;a href="http://blogs.zdnet.com/microsoft/?p=361"&gt;Mary Jo Foley&lt;/a&gt; acaba de incluir un comunicado de Alan Giver, un group manager del equipo de Visual Studio, referente a la campana &lt;a href="http://www.masfoxpro.com/"&gt;MasFoxPro&lt;/a&gt;.&lt;/em&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El comunicado dice lo siguiente:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Estamos muy al tanto de la comunidad de FoxPro y esto tuvo mucho que ver con lo que anunciamos el 13 de Marzo. Nunca es sencillo anunciar que no liberaríamos una nueva versión de un producto, y este (VFP) es uno que consideramos muy cuidadosamente.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;No estamos anunciando el fin de FoxPro: obviamente, las aplicaciones hechas en FoxPro continuaran funcionando. Según algunos estimados internos, hay mas aplicaciones ejecutando en FoxPro 2.6 que las que ejecutan actualmente en VFP y FoxPro 2.6 no ha sido soportado en muchos anos. Visual FoxPro 9 sera soportado por Microsoft hasta el 2015.&lt;/span&gt;&lt;br /&gt;&lt;div style="font-style: italic;"&gt;Para que Microsoft continuara el desarrollo de la base de FoxPro, tendríamos que considerar el crear un ambiente de desarrollo de 64 bits y esto implicaría una reprogramación casi completa del núcleo del producto. También hemos hecho inversiones en crear bases de datos escalables con SQL Server, incluyendo SQL Server Express Edition que esta disponible gratuitamente.  Con relación a formar una alianza con un tercero, muchos grandes clientes de FoxPro nos han dicho que esto les haría casi imposible continuar usando FoxPro debido a que ya no estaría respaldado por un proveedor renombrado. Sentimos que haber colocado el ambiente como código abierto en CodePlex, que equilibra  las necesidades de la comunidad y los grandes clientes, fue la mejor ruta a seguir."&lt;/div&gt;Personalmente me parece una patética respuesta, que no dice nada nuevo sobre las razones de MS para cerrar VFP. Sobre todo eso de que "grandes clientes dicen que si VFP no es MS no pueden justificar su uso" es una patraña.&lt;br /&gt;&lt;div style="font-style: italic;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-3850103097092570086?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/3850103097092570086/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=3850103097092570086' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3850103097092570086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/3850103097092570086'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/04/vfp-ms-respondio-masfoxpro_03.html' title='VFP: MS Respondio a  MasFoxPro'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-8204059555543228480</id><published>2007-04-03T08:42:00.000-06:00</published><updated>2011-11-07T09:50:00.644-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: MasFoxPro la pego al techo!!</title><content type='html'>La campana de &lt;a href="http://www.masfoxpro.com/"&gt;www.masfoxpro.com&lt;/a&gt; ha logrado su primer éxito contundente. La columnista Mary Jo Foley acaba de publicar una entrada en su blog sobre MasFoxpro, que de seguro va hacer pensar a mas de uno en MS.&lt;br /&gt;&lt;br /&gt;Para mas información, ver:&lt;br /&gt;&lt;a href="http://blogs.zdnet.com/microsoft/wp-trackback.php?p=361" rel="bookmark" title="Permalink"&gt;http://blogs.zdnet.com/microsoft/?p=361&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-8204059555543228480?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8204059555543228480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/8204059555543228480'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/04/vfp-masfoxpro-la-pego-al-techo.html' title='VFP: MasFoxPro la pego al techo!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-6124487519966944150</id><published>2007-03-16T13:16:00.000-06:00</published><updated>2011-11-07T09:50:09.005-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: Un toque de nostalgia</title><content type='html'>A proposito de la gran tristeza que embarga desde hace unos dias a la gran comunidad de programadores de VFP, aqui les traigo un link hacia una pagina que contiene informacion sobre la historia de nuestro querido zorro.&lt;br /&gt;&lt;br /&gt;Para los que como yo han usado el Fox desde los tiempos de FoxBase, de seguro esta pagina les traera muchos recuerdos agradables.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.foxprohistory.org/home.htm"&gt;http://www.foxprohistory.org/home.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-6124487519966944150?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/6124487519966944150/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=6124487519966944150' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6124487519966944150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/6124487519966944150'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/03/vfp-un-toque-de-nostalgia.html' title='VFP: Un toque de nostalgia'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-5223057598119768316</id><published>2007-03-14T08:40:00.000-06:00</published><updated>2011-11-07T09:50:21.729-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP: Ha muerto el Rey</title><content type='html'>Hoy es un dia triste en verdad. Luego de mantenerse por casi 20 anos como una de las mejores herramientas para desarrollo de BD (cuidado si no la mejor), Microsoft ha decidido poner fin a la saga de FoxPro.&lt;br /&gt;&lt;br /&gt;En un mensaje publicado en el sitio oficial de FoxPro en MS, el VFP Team ha anuciado que no habra una version 10 de VFP, aunque MS seguira dando soporte oficial a VFP9 hasta el 2015.&lt;br /&gt;&lt;br /&gt;El SP2 de VFP9 se espera para mediados de este ano y pronto estara tambien disponible en forma gratuita el proyecto Sedna, que ampliara considerablemente las capacidades de VFP9.&lt;br /&gt;&lt;br /&gt;Aun cuando todo esto significa que tecnicamente VFP aun sera una herramienta competitiva para crear nuevos desarrollos por unos cuantos anos mas, en la practica la realidad es otra: las empresas no querran hacer grandes inversiones en una plataforma que ya esta sentenciada, por lo que para todos los efectos VFP esta muerto desde ya.&lt;br /&gt;&lt;br /&gt;Esto tambien sera un duro golpe para las empresas cuyos productos principales estan hechos en VFP, pues los nuevos clientes no querran comprar una aplicacion basada en una tecnologia que se quedara obsoleta en 5 o 6 anos. Estas empresas no tendran otra salida ahora que la de empezar a pensar en migrar sus aplicaciones a otras plataformas como .NET o Java, con todo el costo y las limitaciones que esto implica.&lt;br /&gt;&lt;br /&gt;La unica esperanza que queda es que MS decida liberar el codigo fuente de VFP de modo que la comunidad OpenSource pueda "tomar el testigo" y seguir desarrollando esta magnifica herramienta.&lt;br /&gt;&lt;br /&gt;Este es el enlace al mensaje original mostrado en el sitio web de VFP:&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vfoxpro/bb308952.aspx"&gt;http://msdn2.microsoft.com/en-us/vfoxpro/bb308952.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-5223057598119768316?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/5223057598119768316/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=5223057598119768316' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5223057598119768316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/5223057598119768316'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2007/03/vfp-ha-muerto-el-rey.html' title='VFP: Ha muerto el Rey'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-116286706812926650</id><published>2006-11-06T21:32:00.000-05:00</published><updated>2006-11-06T21:37:48.153-05:00</updated><title type='text'>De vuelta</title><content type='html'>Casi me da algo cuando me di cuenta que habian pasado casi 4 meses desde la ultima vez que actualizé este blog... quizás algún dia entienda como hacer para sacar tiempo del dia a dia para mantener actualizado un blog diariamente como hacen muchos de mis amigos, pero hasta hoy aun es un misterio para mi.&lt;br /&gt;&lt;br /&gt;En fin, ha habido mucho movimiento en la empresa en estos últimos meses con nuevos proyectos de EasyMax y uno bien interesante para construir un sistema POS (Punto de venta) para Touch Screens.&lt;br /&gt;&lt;br /&gt;La parte interesante es que este proyecto lo llevaremos adelante usando VFP 9.0, y toda la interfaz gráfica será realizada enteramente con código VFP. Mas adelante pondré algunos screenshots para que vean lo que se puede hacer con esta magnífica herramienta.&lt;br /&gt;&lt;br /&gt;Mi página web va viento en popa, aunque no he logrado que los visitantes se animen a crear su propio contenido o incluso aunque sea discutir sobre el contenido existente... pero supongo que es un proceso lento y que mas temprano que tarde descubrirán toda la potencia detrás del concepto de un wiki.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-116286706812926650?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/116286706812926650/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=116286706812926650' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/116286706812926650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/116286706812926650'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/11/de-vuelta.html' title='De vuelta'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-115323492706610127</id><published>2006-07-18T09:01:00.000-06:00</published><updated>2011-11-07T09:51:16.424-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><title type='text'>VFP entre los primeros 20</title><content type='html'>VFP ascendió por primera vez en la historia a la lista de los 20 lenguajes de programación mas usados, según el indice &lt;a href="http://www.tiobe.com/tiobe_index/index.htm"&gt;TIOBE&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;A pesar de que este indice es criticado por algunos analistas, lo cierto es que es una medida de cuan "popular" es un lenguaje de programación dado... y tener a VFP dentro de los 20 mas usados es una excelente noticia para todos los que disfrutamos de esta excelente herramienta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-115323492706610127?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/115323492706610127/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=115323492706610127' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/115323492706610127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/115323492706610127'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/07/vfp-entre-los-primeros-20.html' title='VFP entre los primeros 20'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114789248767006029</id><published>2006-05-17T13:00:00.000-06:00</published><updated>2006-05-17T13:01:27.670-06:00</updated><title type='text'>Chavez: Para lo que quedó</title><content type='html'>Es triste, como venezolano, ver para lo que ha quedado nuestro "distinguido" presidente... veanlo Uds. mismos:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=eGdYqHI5YFA&amp;search=hugo%20chavez"&gt;Parodia peruana de Chavez&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y lo peor es que cada domingo aporta nuevo material para estas burlas...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114789248767006029?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114789248767006029/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114789248767006029' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114789248767006029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114789248767006029'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/05/chavez-para-lo-que-qued.html' title='Chavez: Para lo que quedó'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114789241116941756</id><published>2006-05-17T12:56:00.000-06:00</published><updated>2011-11-07T09:51:25.870-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Nueva MacBook</title><content type='html'>Apple acaba de lanzar las nuevas portátiles MacBook, basados en tecnologia Intel, que vienen a sustituir a las antiguas iBook G4.&lt;br /&gt;&lt;br /&gt;Con precios a partir de 1.099$ y en dos colores (blanco y negro), estas nuevas portátiles vienen equipadas con procesadores Intel Core Duo de 1.83 o 2.03 Ghz, 512 RAM pantalla de 13" y webcam incorporada (tal como sus hermanos mayores las MacBook Pro).&lt;br /&gt;&lt;br /&gt;Particularmente, me parece que el modelo en negro es simplemente espectacular.&lt;br /&gt;&lt;br /&gt;Mas información en el sitio de &lt;a href="http://www.apple.com/"&gt;Apple&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114789241116941756?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114789241116941756/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114789241116941756' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114789241116941756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114789241116941756'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/05/apple-nueva-macbook.html' title='Apple: Nueva MacBook'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114666718620607593</id><published>2006-05-03T08:34:00.000-06:00</published><updated>2011-11-07T09:51:46.574-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EasyMax / AvaQs'/><title type='text'>EM: Software de Venezuela quedo como finalista en los premios PCNews</title><content type='html'>La empresa &lt;a href="http://www.sdvsa.com/"&gt;Software de Venezuela, S.A.&lt;/a&gt; quedó como finalista en la categoria "Empresa de Software de Venezuela" de los premios &lt;a href="http://premio.pc-news.com/"&gt;PC-News&lt;/a&gt; del 2005.&lt;br /&gt;&lt;br /&gt;Para mi es una noticia que me llena particularmente de alegria y orgullo, dado que yo trabajé durante varios años con esta empresa, liderando el equipo que desarrolló los productos que esta empresa vende: AvaQs e EasyMax.&lt;br /&gt;&lt;br /&gt;Felicitaciones a la directiva y gente de SDVSA, y confío que vendrán mas premios y reconocimientos en los años próximos.&lt;br /&gt;&lt;br /&gt;Para más información, pulse &lt;a href="http://premio.pc-news.com/resultados/resultados_seccion.asp?sec=6"&gt;aqui.&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114666718620607593?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114666718620607593/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114666718620607593' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114666718620607593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114666718620607593'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/05/em-software-de-venezuela-quedo-como.html' title='EM: Software de Venezuela quedo como finalista en los premios PCNews'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114666686264122868</id><published>2006-05-03T08:32:00.000-06:00</published><updated>2011-11-07T09:51:53.707-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Nuevos comerciales de TV</title><content type='html'>Apple lanzó varios nuevos anuncios en la TV americana, que son simplemente GENIALES. Pueden verlos aqui:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apple.com/getamac/ads/?networking_medium"&gt;New Apple's TV ads&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114666686264122868?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114666686264122868/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114666686264122868' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114666686264122868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114666686264122868'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/05/apple-nuevos-comerciales-de-tv.html' title='Apple: Nuevos comerciales de TV'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114425704922829398</id><published>2006-04-05T11:03:00.000-06:00</published><updated>2006-04-05T11:10:49.230-06:00</updated><title type='text'>De visita en BitMax</title><content type='html'>Hace unas semanas tuve la dicha de visitar la tienda BitMax de la ciudad de Maracaibo (Venezuela), buscando una unidad CD-RW externa USB.&lt;br /&gt;&lt;br /&gt;Pero lo memorable de la visita fue que esa tienda es distribuidora de productos Apple y tenian varios modelos en exhibicion...casi tienen que sacarme de la tienda por "babosear" la mercancia... :)&lt;br /&gt;&lt;br /&gt;Me impresionaron especialmente la iMac G5 de 20 pulgadas y la Mac Mini...ambas son una belleza de máquinas que DEFINITIVAMENTE me gustaria tener en mi casa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114425704922829398?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114425704922829398/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114425704922829398' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114425704922829398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114425704922829398'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/04/de-visita-en-bitmax.html' title='De visita en BitMax'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114425646461084311</id><published>2006-04-05T10:57:00.000-06:00</published><updated>2011-11-07T09:52:00.958-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Instale XP en su Mac con Intel</title><content type='html'>Apple lanzó la versión beta de un software llamado Boot Camp, el cual permite a los dueños de computadores Macintosh con procesadores Intel, instalar Windows XP en forma nativa, dentro de una partición de su disco duro, y seleccionar cual de los dos sistemas operativos desea ejecutar al momento de iniciar el equipo.&lt;br /&gt;&lt;br /&gt;La verdad, yo no entiendo mucho la utilidad de esto, mas alla de una estrategia de mercadeo para captar mas usuarios de Windows hacia las computadoras de Apple. Si un usuario de Windows necesita usar ciertas aplicaciones (que no estan disponibles para Apple) tan pocas veces que no le importa tener que reiniciar su equipo para poder cargar Windows y ejecutarlas, entonces lo mismo podria lograr con un software de Virtualizacion como el Virtual PC.&lt;br /&gt;&lt;br /&gt;En fin, si quieren mas información sobre esto, vean:&lt;br /&gt;&lt;a href="http://www.apple.com/macosx/bootcamp/"&gt;http://www.apple.com/macosx/bootcamp/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114425646461084311?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114425646461084311/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114425646461084311' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114425646461084311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114425646461084311'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/04/apple-instale-xp-en-su-mac-con-intel.html' title='Apple: Instale XP en su Mac con Intel'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-114357183839686283</id><published>2006-03-28T12:47:00.000-06:00</published><updated>2011-11-07T09:52:07.542-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple de 1ro en el BussinesWeek 50</title><content type='html'>Apple encabezó la lista de las 50 empresas corporativas con mejor desempeño según la revista BussinesWeek.&lt;br /&gt;&lt;br /&gt;Este es un logro mas en la impactante labor de Steve Jobs al frente de Apple desde que fue reincoporado a la presidencia en 1997, en momentos cuando la empresa estaba al borde de la bancarrota.&lt;br /&gt;&lt;br /&gt;Para más información:&lt;br /&gt;&lt;a href="http://biz.yahoo.com/special/06bw50_article2.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-114357183839686283?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/114357183839686283/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=114357183839686283' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114357183839686283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/114357183839686283'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/03/apple-de-1ro-en-el-bussinesweek-50.html' title='Apple de 1ro en el BussinesWeek 50'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113931825161813803</id><published>2006-02-07T08:15:00.000-05:00</published><updated>2006-02-07T08:17:41.603-05:00</updated><title type='text'>Mi nuevo sitio web ya esta en el aire!</title><content type='html'>El sabado pasado por fin pude poner en funcionamiento mi nuevo sitio en español. A pesar de que aun está en construcción y que me falta terminar algunas páginas básicas como la ayuda, guia de edición, reporte de links rotos, etc, al menos ya mis visitantes podrán ir opinando sobre el funcionamiento, apariencia, bondades y defectos de este nuevo site.&lt;br /&gt;&lt;br /&gt;Pueden visitarlo en:&lt;br /&gt;&lt;a href="http://www.victorespina.com"&gt;http://www.victorespina.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113931825161813803?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113931825161813803/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113931825161813803' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113931825161813803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113931825161813803'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/02/mi-nuevo-sitio-web-ya-esta-en-el-aire.html' title='Mi nuevo sitio web ya esta en el aire!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113759186121426546</id><published>2006-01-18T08:41:00.000-05:00</published><updated>2011-11-07T09:52:20.064-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>Microsoft ofrece versiones gratuitas de VS.NET</title><content type='html'>Hasta noviembre de este año, Microsoft nos ofrece la oportunidad de descargar versiones express de sus productos de programación estrellas, como SQL Server, C#, C++, etc.&lt;br /&gt;&lt;br /&gt;Todos los que descarguen y registren estas versiones express antes del 6 de Noviembre del 2006, podrán seguir usando gratuitamente dichas versiones después de la fecha tope.&lt;br /&gt;&lt;br /&gt;Para mas información:&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/vstudio/express/default.aspx"&gt;http://msdn.microsoft.com/vstudio/express/default.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113759186121426546?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113759186121426546/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113759186121426546' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113759186121426546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113759186121426546'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/01/microsoft-ofrece-versiones-gratuitas.html' title='Microsoft ofrece versiones gratuitas de VS.NET'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113698445166339736</id><published>2006-01-11T07:49:00.000-05:00</published><updated>2011-11-07T09:52:27.350-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Ya estan aqui las primeras MacIntel!!</title><content type='html'>Steve Jobs presentó en el MacWorld de San Francisco las primeras Macs basadas en procesadores Intel.&lt;br /&gt;&lt;br /&gt;Se trata de la nueva MacBook Pro y las nuevas iMac de 17 y 20", todas basadas en procesadores Intel de doble núcleo.&lt;br /&gt;&lt;br /&gt;Según información obtenida de la página oficial de Apple, la nueva MacBook Pro es hasta 4.5 veces mas rápida que la anterior PowerBook G4, mientras que las nuevas iMac son 2 veces más rápidas que sus antecesores iMac G5.&lt;br /&gt;&lt;br /&gt;Con precios que van van desde los 1.299$ por una iMac Intel Core Duo de 1.73 Ghz hasta 1.999$ por la MacBook Intel Core Duo de 1.67 Gz, Apple pisa el acelerador en su conversión de la tecnología PowerPC a Intel.&lt;br /&gt;&lt;br /&gt;Lo mejor de todo esto es que con una versión ya oficial del MacOSX para X86, pronto veremos este magnífico OS instalado en PCs normales... y asi podremos tener una alternativa válida (aunque no legal por los momentos) a ese cómica llamada Windows.&lt;br /&gt;&lt;br /&gt;Para más información sobre los nuevos modelos de Apple:&lt;br /&gt;&lt;a href="http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore/"&gt;Apple Store&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para más información sobre Mac OS X:&lt;br /&gt;&lt;a href="http://www.apple.com/macosx/"&gt;Apple's Mac OS X Home Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para más información sobre como ejecutar Mac OS X en tu PC:&lt;br /&gt;&lt;a href="http://forum.osx86project.org/"&gt;OSx86 Project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113698445166339736?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113698445166339736/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113698445166339736' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113698445166339736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113698445166339736'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/01/apple-ya-estan-aqui-las-primeras.html' title='Apple: Ya estan aqui las primeras MacIntel!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113654750891631243</id><published>2006-01-06T06:34:00.000-05:00</published><updated>2011-11-07T09:52:41.283-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: Premiado el OSX como el mejor sistema operativo</title><content type='html'>Mientras toda la comunidad quiere "linchar" a Microsoft por la tardanza en sacar un patch para la ultima vulnerabilidad descubierta en Windows XP, el OS X de Apple acaba de ser premiado como el mejor sistema operativo del 2005, no solo para escritorio sino para servidores:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best Server Operating System&lt;/span&gt;&lt;br /&gt;Mac OS X Server v10.4 &lt;br /&gt;A powerful, extensible Unix server with a uniquely robust set of standard features&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best Client Operating System&lt;/span&gt;&lt;br /&gt;Mac OS X v10.4 Tiger &lt;br /&gt;A rich and friendly desktop OS built with professional users in mind &lt;br /&gt;&lt;br /&gt;Pueden ver la lista completa de ganadores &lt;a href="http://www.infoworld.com/article/06/01/02/01FEtoyawards_1.html?s=feature"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113654750891631243?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113654750891631243/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113654750891631243' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113654750891631243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113654750891631243'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2006/01/apple-premiado-el-osx-como-el-mejor.html' title='Apple: Premiado el OSX como el mejor sistema operativo'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113569333681266382</id><published>2005-12-27T09:20:00.000-05:00</published><updated>2005-12-27T09:22:16.813-05:00</updated><title type='text'>Feliz Navidad y Año Nuevo!</title><content type='html'>Feliz Navidad y un próspero año nuevo para todos... que el año que viene venga cargado de salud, trabajo, paz y harmonía familiar para todo el mundo...ah!, y que al final de este nuevo año haya un OSx en cada PC del mundo... a ver si asi salimos de ese "muerto" llamado Windows. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113569333681266382?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113569333681266382/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113569333681266382' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113569333681266382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113569333681266382'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/12/feliz-navidad-y-ao-nuevo.html' title='Feliz Navidad y Año Nuevo!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-113569323731877376</id><published>2005-12-27T09:19:00.000-05:00</published><updated>2005-12-27T09:20:37.336-05:00</updated><title type='text'>Hoy compre mi hosting!!</title><content type='html'>Hoy POR FIN compré mi hosting y espacio de nombre. No puedo esperar a que me activen el servicio para probar mi nuevo site, y sobre todo mi flamante nombre de dominio: www.victorespina.com... je je.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-113569323731877376?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/113569323731877376/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=113569323731877376' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113569323731877376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/113569323731877376'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/12/hoy-compre-mi-hosting.html' title='Hoy compre mi hosting!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-112984378730819296</id><published>2005-10-20T16:25:00.000-05:00</published><updated>2005-10-20T16:29:47.330-05:00</updated><title type='text'>Poniendome al dia</title><content type='html'>Vaya, que tiempo ha pasado desde la ultima vez que estuve por aca.  Pues nada: a ponerme al dia.&lt;br /&gt;&lt;br /&gt;Mi nuevo sitio web, basado en MediaWiki, está prácticamente terminado. Este software (el MediaWiki) es realmente asombroso, muy consistente y sumamente fácil de ampliar y personalizar. Con razón hay tantos y tantos sitios en internet basados en él.&lt;br /&gt;&lt;br /&gt;También estoy trabajando una idea para crear un framework en PHP para la construcción de sistemas administrativos, basado en parte en la filosofia del MediaWiki, y que sea independiente de la BD que se use. Hasta ahora estoy solamente empezando a anotar ideas y a esbozar la estructura básica del framework, pero promete ser un proyecto sumamente interesante.&lt;br /&gt;&lt;br /&gt;Bueno, en estas ando. Espero poder comprar mi dominio web y contratar un buen hosting para poner mi nueva página en funcionamiento, y asi poder dedicarme a la versión en inglés de la misma.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-112984378730819296?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/112984378730819296/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=112984378730819296' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112984378730819296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112984378730819296'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/10/poniendome-al-dia.html' title='Poniendome al dia'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-112618952266381468</id><published>2005-09-08T08:22:00.000-06:00</published><updated>2005-09-08T08:25:22.663-06:00</updated><title type='text'>Tragedia en New Orleans</title><content type='html'>No me canso de impresionarme por las imágenes que llegan por CNN de la tragedia que dejó el huracán Katrina en New Orleans y otras zonas.  &lt;br /&gt;&lt;br /&gt;Ayer hablaba con un amigo que vive en Miami y me decia que el pueblo estadounidense estaba sumamente molesto por la forma en que las autoridades habian manejado la emergencia, y que pedian a gritos que rodaran cabezas. Eso sin mencionar el toque racista que CNN ha dejado entrever con respecto al "orden" en que fueron rescatadas las primeras personas luego del huracán.&lt;br /&gt;&lt;br /&gt;Dios quiera que al menos termine la temporada de huracanes sin que otro decida pasar por la misma zona. Eso seria el colmo de la desgracia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-112618952266381468?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/112618952266381468/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=112618952266381468' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112618952266381468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112618952266381468'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/09/tragedia-en-new-orleans.html' title='Tragedia en New Orleans'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-112618922735135066</id><published>2005-09-08T08:19:00.000-06:00</published><updated>2005-09-08T08:20:27.356-06:00</updated><title type='text'>De vuelta y aun sin pagina web</title><content type='html'>Ya hace casi dos semanas que volvi de vacaciones y aun no he podido encontrar el tiempo para terminar mi nueva página Web.  Las cosas con el MediaWiki han mejorado mucho y lo estoy dominando poco a poco, pero aun asi el avance es lento.&lt;br /&gt;&lt;br /&gt;Espero que pueda terminar antes de fin de año.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-112618922735135066?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/112618922735135066/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=112618922735135066' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112618922735135066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112618922735135066'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/09/de-vuelta-y-aun-sin-pagina-web.html' title='De vuelta y aun sin pagina web'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-112308258157531933</id><published>2005-08-03T09:19:00.000-06:00</published><updated>2005-08-03T09:23:01.580-06:00</updated><title type='text'>Vacaciones (AL FIN!!)</title><content type='html'>Al fin tomaré unas mas que merecidas vacaciones con mi familia, empezando mañana. Estaremos visitando el estado Lara, a mi familia política en Caracas, un par de dias en Maracaibo y otro par de dias en La Victora, en el Hotel Hacienda El Recreo (excelente).&lt;br /&gt;&lt;br /&gt;Estaremos de vuelta para el 18, Dios mediante.  Además del paseo, espero poder dedicar un par de dias a terminar mi nuevo sitio Web, el cual está bastante adelantado en estructura, pero muy pobre en contenido, sobre todo en las áreas de C#, PHP y MediaWiki.  Pero bueno, creo que empezaré asi e iré generando contenido sobre la marcha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-112308258157531933?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/112308258157531933/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=112308258157531933' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112308258157531933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112308258157531933'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/08/vacaciones-al-fin.html' title='Vacaciones (AL FIN!!)'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-112117158119954550</id><published>2005-07-12T06:19:00.000-06:00</published><updated>2011-11-07T09:53:30.565-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SciFi'/><title type='text'>Para los fanáticos de Stargate</title><content type='html'>Hay dos noticias: una buena y una mala.&lt;br /&gt;&lt;br /&gt;La mala es que terminó la 1ra temporada de Stargate Atlantis y nos quedamos con la duda de que pasó en la invasión de los Espectros a Atlantis.&lt;br /&gt;&lt;br /&gt;La buena es que la semana pasada comenzó la nueva temporada de Stargate SG-1 y está BUENISIMA... asi que el golpe no será tan duro.&lt;br /&gt;&lt;br /&gt;Definitivamente esta es una de las mejores series que he visto en mi vida, además de Start Trek: The New Generation.  La historia es excelente y los efectos de primera.&lt;br /&gt;&lt;br /&gt;Si te interesa esta serie y quieres saber de que se trata, visita estos links:&lt;br /&gt;&lt;a href="http://www.sg1archive.com/"&gt;http://www.stargatesg1.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sg1archive.com/"&gt;http://www.sg1archive.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-112117158119954550?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/112117158119954550/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=112117158119954550' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112117158119954550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/112117158119954550'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/07/para-los-fanticos-de-stargate.html' title='Para los fanáticos de Stargate'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111947969207799204</id><published>2005-06-22T16:23:00.000-06:00</published><updated>2005-06-22T16:35:00.810-06:00</updated><title type='text'>En lo que ando</title><content type='html'>Ultimamente no he tenido mucho tiempo para actualizar mi blog. He estado super ocupado entre mi trabajo (estamos a punto de cerrar un proyecto y la lista de pendientes es ENORME), el trabajo en mi página web, y algunas otras cosillas que comentaré aqui.&lt;br /&gt;&lt;br /&gt;Mi página está bastante avanzada aunque tuve que tomar la decisión de manejar dos wikis separados para el sitio en español y el sitio en inglés, Estaba intentando tener ambos conjuntos de páginas en el mismo Wiki, pero se me estaba haciendo muy dificil.&lt;br /&gt;&lt;br /&gt;En fin, que espero tener listo al menos el sitio en español en un par de semanas.&lt;br /&gt;&lt;br /&gt;Estoy trabajando también en una serie de artículos sobre capas de negocios en VFP. La idea es mostrar un ejemplo de como construir una capa de negocios en VFP.  Estos artículos los iré publicando poco a poco en mi sitio web y en otros sitios como PortalFox y PanoramaBox.&lt;br /&gt;&lt;br /&gt;Otra cosa en la que voy a trabajar es en un par de artículos sobre EasyMax y AvaQs; dos aplicaciones que desarrollé para la empresa donde trabajé hasta hace dos años y que son con los que trabajo en la empresa actual.  EasyMax es un sistema administrativo integrado totalmente adaptable, que fue programado utilizando AvaQs, que es una herramienta RAD hecha 100% en VFP 6 SP4. Estos artículos estarán disponibles a través de un par de enlaces en mi C.V. on line, el cual será publicado también en mi nuevo site.&lt;br /&gt;&lt;br /&gt;Como ven, tengo como para entretenerme por un buen tiempo. Y ni siquiera hablé de los planes para DP5 y un nuevo producto que tengo en mente, basado en DP5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111947969207799204?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111947969207799204/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111947969207799204' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111947969207799204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111947969207799204'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/06/en-lo-que-ando.html' title='En lo que ando'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111809413960492441</id><published>2005-06-06T15:39:00.000-06:00</published><updated>2011-11-07T09:53:59.018-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: OSX sobre Intel es una realidad!</title><content type='html'>Steve Jobs habló fuerte y claro: Apple empezará a despachar computadores Mac con procesadores Intel a mediados del próximo año.  También dijo que OS X llevaba tiempo viviendo una "doble vida", siendo capaz de ejecutar sobre chips PowerPC y sobre chips Intel. De hecho, todas las presentaciones hechas durante el keynote fueron hechas usando un Mac OS X corriendo sobre un procesador Intel.&lt;br /&gt;&lt;br /&gt;Falta ver ahora si Apple introducirá algún tipo de protección para evitar que su SO pueda ser ejecutado sobre otros computadores que no sean los fabricados por Apple. &lt;br /&gt;&lt;br /&gt;Esperemos que no... pero si resulta ser asi, no creo que la comunidad cracker vaya a tardar mucho encontrar la forma de sobrepasar cualquier limitación que Apple quiera introducir en este sentido.&lt;br /&gt;&lt;br /&gt;Pueden ver la noticia original &lt;a href="http://ct.zdnet.com.com/clicks?c=214289-55533162&amp;amp;brand=zdnet&amp;amp;ds=5"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111809413960492441?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111809413960492441/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111809413960492441' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111809413960492441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111809413960492441'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/06/apple-osx-sobre-intel-es-una-realidad.html' title='Apple: OSX sobre Intel es una realidad!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111807020509842148</id><published>2005-06-06T08:57:00.000-06:00</published><updated>2011-11-07T09:54:17.983-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: OS X sobre X86 es casi un hecho!!!</title><content type='html'>Hoy es un dia feliz para muchos que, como yo, se mueren por trabajar con OS X pero estan estancados en Windows por razones de trabajo.&lt;br /&gt;&lt;br /&gt;CNET ha difundido la noticia de que Steve Jobs muy posiblemente anunciará una nueva alianza entre Apple e Intel para usar los procesadores de tecnologia x86 en los computadores de Apple.&lt;br /&gt;&lt;br /&gt;Para más información vean estos links:&lt;br /&gt;&lt;a href="http://news.com.com/Apple+to+ditch+IBM%2C+switch+to+Intel+chips/2100-1006_3-5731398.html?part=rss&amp;amp;tag=5731398&amp;amp;subj=news"&gt;Apple to ditch IBM, switch to Intel chips&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theinquirer.net/?article=23714"&gt;Apple will switch to x86 processors&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111807020509842148?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111807020509842148/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111807020509842148' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111807020509842148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111807020509842148'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/06/apple-os-x-sobre-x86-es-casi-un-hecho.html' title='Apple: OS X sobre X86 es casi un hecho!!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111693840788771724</id><published>2005-05-24T06:34:00.000-06:00</published><updated>2011-11-07T09:54:31.548-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple: se acerca más el OS X sobre x86 ?</title><content type='html'>Hoy me llegó este artículo en ZDNews, que pareciera indicar que son ciertos los rumores que se venian escuchando desde hace tiempo con respecto a que Apple estaba disconforme con el trato que estaba recibiendo de IBM, sobre todo en lo referente a la disponibilidad de chips PowerPC, y que estaba en conversaciones con fabricantes de chips x86 para cambiar parcial o totalmente sus computadores hacia la plataforma Intel.&lt;br /&gt;&lt;br /&gt;Mucho se ha discutido sobre esto, y siempre Apple ha desmentido tales rumores. Sin embargo es cierto que Apple tiene la capacidad de recompilar su producto estrella, el Mac OS, para la plataforma Intel (no olvidemos que esta construido sobre un SO opensource llamado Darwin), y de hecho algunos de sus modelos XServer RAID corren sobre chips Intel.&lt;br /&gt;&lt;br /&gt;De llegarse a un acuerdo entre Apple e Intel para incluir chips x86 en computadores Macintosh, estariamos a un paso del sueño de todos los que como yo, admiran y adoran a los computadores de Apple, pero estan estancados en el uso de PCs: Un PC corriendo Mac OS.&lt;br /&gt;&lt;br /&gt;El artículo completo lo pueden ver &lt;a href="http://news.zdnet.com/2100-9584_22-5716580.html?tag=nl.e589"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111693840788771724?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111693840788771724/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111693840788771724' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111693840788771724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111693840788771724'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/apple-se-acerca-ms-el-os-x-sobre-x86.html' title='Apple: se acerca más el OS X sobre x86 ?'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111693803737271339</id><published>2005-05-24T06:31:00.000-06:00</published><updated>2005-05-24T06:33:57.376-06:00</updated><title type='text'>E Internet volvio!</title><content type='html'>Luego de una lucha de varios dias con la compañia de cable, por fin hoy tengo de nuevo mi conexión a Internet, aunque oficialmente los técnicos que estuvieron ayer aqui no hicieron "nada", y se supone que hoy vienen a revisar el cableado completo y si es necesario cambiarlo.&lt;br /&gt;&lt;br /&gt;En fin, espero que luego de la "corrección" no vuelva a pasar por el martirio de estar varios dias desconectados, sobre todo en dias laborables.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111693803737271339?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111693803737271339/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111693803737271339' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111693803737271339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111693803737271339'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/e-internet-volvio.html' title='E Internet volvio!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111662789642699657</id><published>2005-05-20T16:20:00.000-06:00</published><updated>2005-05-20T16:24:56.430-06:00</updated><title type='text'>Y ahora, sin internet!!</title><content type='html'>Como si no bastara el hecho de sufrir apagones a cada rato, pues ahora resulta que desde el ultimo apagón no tengo linea en mi conexión por cable.&lt;br /&gt;&lt;br /&gt;Esto no seria muy grave, sino fuese por el hecho de que yo trabajo a distancia... es decir, mi oficina esta en Panamá y, sin internet, es como si no fuese a trabajar.&lt;br /&gt;&lt;br /&gt;De más está decir que el Sr. Murphy se hizo presente inmediatamente: justo en estos dias estamos en la parte final de la implantación de nuestro sistema en un cliente importante, y el hecho de que yo no esté en linea no hace las cosas más sencillas, precisamente. &lt;br /&gt;&lt;br /&gt;En fin, me prometieron que para mañana me enviaban un técnico a resolver el problema... solo espero que cuando venga no esté yo en medio de un apagón.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111662789642699657?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111662789642699657/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111662789642699657' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111662789642699657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111662789642699657'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/y-ahora-sin-internet.html' title='Y ahora, sin internet!!'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111643657746105738</id><published>2005-05-18T11:11:00.000-06:00</published><updated>2005-05-18T11:16:17.466-06:00</updated><title type='text'>Siete horas sin luz</title><content type='html'>Esto es algo que se cuenta y no se cree.  Hasta hoy a las 9:30am llevábamos SIETE HORAS sin energía eléctrica por la zona donde vivo.  INCREIBLE...  luego de que se restauró la energía a las 9:30am se ha vuelto a caer dos veces máas, por lapsos de media hora... y la señal del cable llegó apenas hace 10 minutos.&lt;br /&gt;&lt;br /&gt;Dias como este son una tortura, no solo por el hecho de quedarse sin energia eléctrica a mitad de la noche en una zona semidesértica, sino que el no tener acceso a internet me causa un stress tremendo, ya que no tengo contacto con mi oficina en Panamá.&lt;br /&gt;&lt;br /&gt;Ojala que algún dia los que tengan que ponerse de acuerdo se decidan a dejar la politequeria a un lado y se sienten a ver como resolver el problema del suministro eléctrico en este estado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111643657746105738?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111643657746105738/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111643657746105738' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111643657746105738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111643657746105738'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/siete-horas-sin-luz.html' title='Siete horas sin luz'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111589727843436274</id><published>2005-05-12T05:22:00.000-06:00</published><updated>2005-05-12T05:28:09.066-06:00</updated><title type='text'>Como quita tiempo la interfaz de usuario</title><content type='html'>Hay que ver como quita tiempo el diseño de una interfaz de usuario (GUI) dentro del desarrollo de una aplicación.&lt;br /&gt;&lt;br /&gt;En mis tiempos de universidad, mis profesores de programación insistian en que la parte más importante de un sistema era las tareas que era capaz de desarrollar, y que la interfaz visual era algo casi que secundario.&lt;br /&gt;&lt;br /&gt;Pues bien, mi experiencia me ha enseñado que tan o más importante que el "QUE HACE" es el "COMO LO HACE"... hasta el punto de que desde hace años primero desarrollo un prototipo de la interfaz visual ANTES de escribir una sola línea de código sobre un editor cualquiera.&lt;br /&gt;&lt;br /&gt;Y precisamente en esas estoy desde el Lunes... diseñando una interfaz visual para un editor de procesamiento de pagos, el cual me lleva por el camino de la amargura... ¿por que? pues porque no logro encontrar una forma "INTUITIVA" y "FACIL" de mostrar la información al usuario y permitir que dicha información sea manipulada de una forma sencilla para que el usuario logre realizar sus tareas cotidianas de una forma rápida.&lt;br /&gt;&lt;br /&gt;Gracias a Dios ayer por fin llegué a un diseño que me satisfizo y ahora estoy con la parte de "carpinteria",es decir, añadiendo la funcionalidad necesaria para hacer que la "carátula" funcione.&lt;br /&gt;&lt;br /&gt;En fin, que no será hasta este sábado que siga con mi nuevo sitio Web, a ver si lo logro montar antes de fin de mes, Wiki incluido.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111589727843436274?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111589727843436274/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111589727843436274' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111589727843436274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111589727843436274'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/como-quita-tiempo-la-interfaz-de.html' title='Como quita tiempo la interfaz de usuario'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111547776687422143</id><published>2005-05-07T08:53:00.000-06:00</published><updated>2005-05-07T08:56:06.880-06:00</updated><title type='text'>Ya pronto tendré mi Wiki</title><content type='html'>Hoy logre montar exitósamente en mi equipo un wiki llamado MediaWiki, el cual es uno de los mejores que he visto. &lt;br /&gt;&lt;br /&gt;No solamente es muy fácil de usar y agradable a la vista, sino que es increiblemente fácil de utilizar. &lt;br /&gt;&lt;br /&gt;No puedo esperar a montarlo en mi site para ya empezarlo a usar.&lt;br /&gt;&lt;br /&gt;Mas información sobre MediaWiki &lt;a href="http://wikipedia.sourceforge.net/"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111547776687422143?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111547776687422143/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111547776687422143' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111547776687422143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111547776687422143'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/ya-pronto-tendr-mi-wiki.html' title='Ya pronto tendré mi Wiki'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111538918041603798</id><published>2005-05-06T08:13:00.000-06:00</published><updated>2005-05-06T08:22:02.083-06:00</updated><title type='text'>MySQL: MySQL 4.1.11</title><content type='html'>Anoche me bajé el instalador de MySQL 4.1.11, mas un par de herramientas y las instalé esta mañana. Sinceramente quedé gratamente sorprendido. La instalación de la BD fue rápida y sencilla. El mismo instalador me permitió configurar mi servidor MySQL mediante un asistente sencillo y muy bien diseñado.&lt;br /&gt;&lt;br /&gt;La herramienta de administración que instalé también tiene un diseño atractivo y muy limpio. Pude crear un usuario y asignarle sus permisos sin ningún esfuerzo.&lt;br /&gt;&lt;br /&gt;Por otro lado, la herramienta para consultas que instalé (Query Browser) está muy bien construida y ofrece varias características atractivas, tales como permitir armar un query en forma interactiva, acceso a las BDs y sus estructuras en forma de un árbol, acceso a la documentación básica sobre comandos SQL, y muchas otras cosas. En cuestión de 30 segundos pude hacer una consulta sobre una tabla que no conocia y pude crear una nueva BD viendo la sintáxis que pude consultar directamente desde el Query Browser.&lt;br /&gt;&lt;br /&gt;En resumen, me llevé una muy grata impresión. La verdad que este producto ha madurado mucho y espero que siga en ese camino. Definitivamente es una excelente opción como backend para aplicaciones de cualquier tipo, y su integración con VFP también es transparente y muy sencilla.&lt;br /&gt;&lt;br /&gt;Mas información &lt;a href="http://www.mysql.com/"&gt;aquí&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111538918041603798?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111538918041603798/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111538918041603798' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111538918041603798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111538918041603798'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/mysql-mysql-4111.html' title='MySQL: MySQL 4.1.11'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111532305699383636</id><published>2005-05-05T13:41:00.000-06:00</published><updated>2005-05-05T13:57:37.000-06:00</updated><title type='text'>ASP.NET: Evento ItemCommand en un DataGrid</title><content type='html'>Hoy me encontré con que el evento &lt;span style="font-weight: bold;"&gt;ItemCommand&lt;/span&gt; de un objeto DataGrid, se invoca no solo cuando se pulsa en alguna columna tipo &lt;span style="font-style: italic;"&gt;Command&lt;/span&gt; definido dentro del DataGrid (como por ejemplo: Quitar, Editar, etc), sino que también se dispara cuando se cambia de una página a otra dentro del DataGrid.&lt;br /&gt;&lt;br /&gt;Si el DataGrid tiene dos o más comandos definidos por item esto no es un problema, porque forzosamente el programador debió haber usado una construcción &lt;span style="font-weight: bold;"&gt;switch&lt;/span&gt; al programar el evento, como por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(51, 0, 153);"&gt;&lt;br /&gt;   private void dgrLineas_ItemCommand(object source,                    &lt;br /&gt;                                  DataGridCommandEventArgs e)&lt;br /&gt;   {&lt;br /&gt;       switch (e.CommandName)&lt;br /&gt;       {&lt;br /&gt;          case "Delete":&lt;br /&gt;              // Codigo para el comando Delete&lt;br /&gt;              break;&lt;br /&gt;&lt;br /&gt;          case "Edit":&lt;br /&gt;              // Codigo para el comando Edit&lt;br /&gt;              break;&lt;br /&gt;       }&lt;br /&gt;    }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Como se ve, la propiedad &lt;span style="font-weight: bold;"&gt;CommandName&lt;/span&gt; del parámetro de argumentos &lt;span style="font-weight: bold;"&gt;e&lt;/span&gt; indica el comando que se generó. Cuando el evento se dispara por cambio de la página actual en el datagrid, el valor de &lt;span style="font-weight: bold;"&gt;CommandName&lt;/span&gt; es "Page". Sin embargo, normalmente esto debe ser obviado ya que el código para cambiar la página actual se coloca normalmente en el evento &lt;span style="font-weight: bold;"&gt;PageIndexChanged&lt;/span&gt;, por lo que no es necesario manejarlo a este nivel.&lt;br /&gt;&lt;br /&gt;Cuando el DataGrid tiene solo una columna tipo comando, es fácil que el programador no incluya el switch y coloque directamente en el evento el código correspondiente a la acción seleccionada, causando un posible problema cuando el evento se invoque por un cambio de página en lugar de, por ejemplo, un click en la columna Quitar de una fila del datagrid.&lt;br /&gt;&lt;br /&gt;Lo peor es que este problema solo se detecta si el datagrid llega a tener mas de una página... mientras solo tenga una, el código funcionará perfectamente.&lt;br /&gt;&lt;br /&gt;Moraleja: SIEMPRE usar un switch dentro del evento ItemCommand de un DataGrid para evitar sorpresas indesables.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111532305699383636?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111532305699383636/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111532305699383636' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111532305699383636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111532305699383636'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/aspnet-evento-itemcommand-en-un.html' title='ASP.NET: Evento ItemCommand en un DataGrid'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111525501837105586</id><published>2005-05-04T19:00:00.000-06:00</published><updated>2005-05-04T19:08:36.716-06:00</updated><title type='text'>Me lleva el #%#%# con el IIS</title><content type='html'>Tengo ya varios dias con un problema con el IIS luego que lo reinstale en mi equipo debido a un crash que me obligo a reinstalar mi Windows XP Home Edition.&lt;br /&gt;&lt;br /&gt;El IIS se instala correctamente, pero al intentar cargar una página cualquiera obtengo el mensaje:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;The specified module could not be found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Muy descriptivo el mensaje, cierto?&lt;br /&gt;&lt;br /&gt;Mi guess es que el problema se origina por alguna configuración anterior del IIS que luego de la reinstalación esta causando algún problema... pero no logro encontrarlo por ningun lado.&lt;br /&gt;&lt;br /&gt;Veamos como me va con esto, porque de cualquier forma tengo que terminar de arreglarlo hoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111525501837105586?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vespina.blogspot.com/feeds/111525501837105586/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12650904&amp;postID=111525501837105586' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111525501837105586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111525501837105586'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/me-lleva-el-con-el-iis.html' title='Me lleva el #%#%# con el IIS'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12650904.post-111522680527308728</id><published>2005-05-04T11:10:00.000-06:00</published><updated>2005-05-04T19:10:35.473-06:00</updated><title type='text'>Mi nuevo blog</title><content type='html'>Bueno, decidí unirme a la blogmania y he aqui mi propio weblog. Espero lograr crear aqui un sitio informal para hablar no solo de programación sino también de otras cosas que me apasionan como la música (en especial Jazz y Clasica), asi como todo lo que tenga que ver con Apple (arriba Steve Jobs!).&lt;br /&gt;&lt;br /&gt;En fin, sean bienvenidos y los invito a incluir sus propios comentarios y opiniones.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Victor Espina&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12650904-111522680527308728?l=vespina.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111522680527308728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12650904/posts/default/111522680527308728'/><link rel='alternate' type='text/html' href='http://vespina.blogspot.com/2005/05/mi-nuevo-blog.html' title='Mi nuevo blog'/><author><name>Victor Espina</name><uri>http://www.blogger.com/profile/00326701048524315194</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/img/191/5583/640/foto.jpg'/></author></entry></feed>
