miércoles 7 de abril de 2010
XML Tools: plugin para Notepad++
XML Tools es un plugin para Notepad++. Facilita la edición de XML, XSLT y XPATH. La versión a fecha de hoy necesita de una serie de dll's para funcionar que se puede descargar de aquí (alternativas: 1 y 2). Yo tuve que copiar las dll's iconv.dll, libxml2.dll, libxslt.dll y zlib1.dll en /Windows/system32 para que funcionara y no en la propia carpeta de plugins de Notepad++ como indica la ayuda del plugin. Etiquetas: Herramienta, programacion
Add-In para Visual Studio 2005 y 2008
En Csharper he encontrado unos add-ins para VS bastante interesantes:
MRU Cleaner : plugin que permite eliminar las entradas de los proyectos y lista de archivos recientes que no nos interesan.
MRU Cleaner para VS 2005 MRU Cleaner para VS 2008
Property Manager : plugin de refactorización que convierte una variable en propiedad.
Property Manager para VS 2005 Property Manager para VS 2008
Explore in Windows : añade una opción que permite abrir un explorador de Windows desde el explorador de soluciones. Incluso si es un proyecto Web que carga a través de IIS.
Explore in Windows para VS 2005 Explore in Windows para VS 2008 Etiquetas: Herramienta, programacion
viernes 2 de abril de 2010
Referencia rápida MSDN
MSDN Library (Español) contiene una gran cantidad de información técnica de programación, incluidos código de ejemplo, documentación, artículos técnicos y guías de referencia. La referéncia rápida contiene mucha información interesante como por ejemplo:
etc, etc... Etiquetas: Herramienta Web, programacion
lunes 29 de marzo de 2010
Arduino
Arduino es una placa electrónica programable de hardware libre. Se dispone de un IDE para programarla, el lenguaje es una especie de C muy sencillo. Desde la web oficial hay enlaces a varias tiendas que venden componentes, como por ejemplo esta tienda. En este enlace un poco mas de explicación. Etiquetas: Herramienta, programacion
jueves 25 de marzo de 2010
Acoplamiento y Cohesión
Definición- Cohesión: grado de cercania entre 2 o mas elementos, tienen características que les unen.
- Acoplamiento: grado de dependencia entre 2 o mas elementos.
ObjetivoMantener el acoplamiento lo más bajo posible y la cohesión lo más alta posible suele ser el objetivo de todo arquitecto, diseñador o programador. Tener unos buenos criterios para agrupar unidades de software (alta cohesión), y mantener esas unidades lo más independientes posible (bajo acoplamiento) garantiza la modularidad, facilitando la reutilización del software y gran parte de las tareas del desarrollo del sofware. El artículo completo en La tecla de escapeOtro aquíCreo que son dos conceptos esenciales que los diseñadores de software acostumbramos a olvidar... Etiquetas: programacion
jueves 18 de marzo de 2010
SqlDbx
SqlDbx es un IDE para bases de datos Oracle, SQL Server, DB2, Sybase y ODBC. Incluye Intellisense, un comparador visual de datos, remarcado de sintaxis, scripts de SQL, exportación de datos a varios formatos, visualizador de esquemas, etc. La versión personal ya de por si tiene un monton de características y eso que es gratuita. 
Etiquetas: Herramienta, programacion, SQL
martes 16 de marzo de 2010
Nomenclatura en c#
Una buena práctica a la hora de programar es que todo el equipo siga la misma nomenclatura en la definición de interfaces, clases, métodos, etc. En este enlace hablan detalladamente del tema. Dejo aquí la nomenclatura a seguir. Programación
| Tipo | Notación + Contenido | Ejemplo | | NameSpaces | Pascal Case, Sin Guión Bajo | IrritatedVowel.Controllers | | Clases (Classes) | Pascal, Sin Guion Bajo | MainForm | | Colecciones (Collections) | Pascal + “Collection” | WidgetCollection | | Interfases (Interfaces) | Pascal con “I” inicial | IWidget | | Enumeradores | Pascal (Generalmente Plural) | OpcionesBusqueda | | Funciones y Subs | Pascal, Sin Guión Bajo | ConvertirContenido (…) | | Propiedades Publicas | Pascal, Sin Guión Bajo | RecordID | | Propiedades Privadas | Camel [prefijo _ opcional] | recordId, _recordId | | Parámetros | Camel, sin abreviaciones | ref int recordID | | Controles en ASPX | Camel, con prefijo [ejem: ux] | uxUserId
| Bases de datos| Tipo | Notación + Contenido | Ejemplo | | Nomenclatura de Tablas | Pascal Case (excepto mysql) | Colonias, Modulos | | Campos | Camel Case, Sin Guión Bajo | idRegistro, diaRegistro | | Funciones | Pascal Case, Sin Guión Bajo | Letra, DiasVencidos | | Stored Procedures | Camel, Sin Guión Bajo [proc]+[tabla]+[funcion] | Ej 1: procClienteInsert Ej 2: saldoVencidoSelect * prefijo proc es opcional* | | Parámetros en SP | Camel, Sin Guión Bajo | @idCliente | | Vistas (Views) | Camel, prefijo “vw” | vwClientes |
Etiquetas: programacion
Eurekalog: 'cazando' memory leaks.
Delphi no dispone de recolector de basura como otros lenguajes como .NET o Java. Esto comporta la obligación de destruir los objetos explicitamente. EurekaLog es una herramienta para identificar donde no se libera la memoria ( Memory Leak) dentro de una aplicación escrita en Delphi. Genera un Log donde informa del fichero, clase, métodos y número de linea donde se está produciendo el error. En el artículo Cazando errores con EurekaLog se explica mas detalladamente esta herramienta. Etiquetas: programacion
Herramientas .Net Framework
Gracias a este artículo, dejo aquí una serie de herramientas de .Net Framework que pueden sacar de un apuro: Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe)Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)Herramienta de compilación de ASP.NET (Aspnet_compiler.exe)Herramienta de comprobación de certificados (Chktrust.exe)Desensamblador de MSIL (Ildasm.exe)Ensamblador de MSIL (Ilasm.exe)Herramienta Installer (Installutil.exe)Una mención a Ildasm.exe: útil si quieres ver los metadatos de una dll o exe con código administrado, ver sus dependencias o chafardear el msil del mismo. El ejecutable se encuentra dentro del SDK de Visual Studio y no en el SDK del propio .NET Framework: Archivos de programa\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\ildasm.exe Archivos de programa\Microsoft Visual Studio 8\SDK\v2.0\Bin\ ildasm.exeUn artículo explicativo en la Web del Guille. Etiquetas: programacion
viernes 12 de marzo de 2010
La cuenta de Windows 'IUSR_MYMACHINE' y 'ASPNET'
En Windows existen las cuentas locales 'IUSR_MYMACHINE' y 'ASPNET' (que a veces, dependiendo de la versión de IIS, aparece como NT AUTHORITY NETWORK SERVICE) y que están relacionadas con ASP.NET: - La cuenta 'IUSR_MYMACHINE' se configura para permitir acceso anónimo. Cuando una petición de una página ASP.NET es autorizada, se realiza una comprobación sobre dicho archivo para ver si la cuenta IUSR_MYMACHINE tiene permiso para leer ese archivo. Si es correcta, el acceso es autorizado.
- La cuenta 'ASPNET' tiene mas privilegios que la anterior. Si por ejemplo necesitamos acceder a un SQLSERVER, necesitaremos una conexión de confianza y a una cuenta ASPNET se le puede dar esos privilegios.
- Otra opción es especificar que usuario quieres que utilice asp.net configurando la sección identity en web.config.
Para comprobar que existen estas dos cuentas. Ir al administrador de equipos...   De este modo, si por ejemplo necesitamos dar privilegios a una carpeta, necesitamos añadir el usuario. Atención al detalle que es necesario especificar en nombre de la máquina antes que el nombre de la cuenta:  Enlaces: IUSR vs. ASPNET user accountsautenticacion-y-autorizacioncuentas de usuarioEtiquetas: programacion
viernes 5 de marzo de 2010
Debug desde VS.NET de un servicio Windows
A veces nos interesa hacer debug de un servicio de windows. Pero normalmente esto se hace complicado porque un servicio de windows no corre dentro de Visual Studio .NET porque es necesario instalarlo y registrarlo (installutil.exe y NET START). Una manera cómoda y sencilla es añadir al metodo estático Main una directiva de compilación para diferenciar el modo debug del modo release, de manera que si estamos en debug iniciar el servicio Windows como una aplicación normal: #if (!DEBUG) ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new MiWService() }; ServiceBase.Run(ServicesToRun); #else MiWService service = new MiWService(); service.Init(); System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite); #endifPor último, en la clase de tipo MiWService (que hereda de ServiceBase) escribir un método Init() que llame al método proteced OnStart(): public void Init() { this.OnStart(null); }
Para información mas detallada consultar aquíEtiquetas: programacion
miércoles 24 de febrero de 2010
Invocando un Servicio Web WCF desde Delphi 7
Para que Delphi 7 importe el WSDL y genere el stub correctamente de un Servicio Web implementado en WCF (Windows Communication Foundation) hay que actualizar previamente D7 y añadir una línea de código. Pasos a seguir. 1. Bajarse de la Web de Embarcadero el zip Delphi SOAP Runtime and Importer Update2. Descomprimir el zip en una carpeta 3. Realizar previamente una copia de $(DELPHI)\Source\soap y copiar dentro el contenido de la carpeta src del zip 4. Realizar previamente una copia de $(DELPHI)\Bin\WSDLImp.exe y reemplazarlo por el que se encuentra en el zip 5. Abrir D7 y generar el stub. 6. Editar el stub generado y añadir, dentro de la sección initialization, la siguiente línea: InvRegistry.RegisterInvokeOptions(TypeInfo([Nombre del servicio]),ioDocument); 7. Añadir las directivas de compilación CLEANUP_SOAP_HEADERS;FIX_ELEM_NODE_NS al proyecto 8. Añadir al Search Path del proyecto $(DELPHI)\Source\soapCon estos pasos se solucionan, al menos, tres problemas: 1. Al invocar un método con parámetros D7 devuelve un error: The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation 'Testing'. End element 'Body' from namespace 'http://schemas.xmlsoap.org/soap/envelope/' expected. Found element 'parameters' from namespace 2. Al invocar un método con parámetros primitivos string, WCF recibe parámetros nulos 3. Al invocar un método con parámetros de instancia de una clase, WCF devuelve un error: System.NullReferenceException: Object reference not set to an instance of an object Etiquetas: programacion
lunes 22 de febrero de 2010
Averiguar MAC
Si deseas averiguar la MAC de un equipo puede mediante el comando: arp -a IPAsí por ejemplo: C:\>arp -a 10.21.2.1
Interfaz: 10.21.15.66 --- 0x4 Dirección IP Dirección física Tipo 10.21.2.1 00-00-0c-07-bc-04 dinámicoEtiquetas: programacion
viernes 5 de febrero de 2010
Cómo obtener el nombre de una máquina a partir de una IP
Para obtener el nombre de una máquina a partir de una IP, podemos utilizar el siguiente comando: > ping -a IPasí por ejemplo si ponemos: > ping -a 10.120.238.17
recibimos como respuesta algo parecido a esto, donde el texto marcado en rojo es el nombre de la máquina: Haciendo ping a 3engine.local [10.120.238.17] con 32 bytes de datos:
Respuesta desde 10.120.238.17: bytes=32 tiempo=1ms TTL=123 Respuesta desde 10.120.238.17: bytes=32 tiempo=1ms TTL=123 Respuesta desde 10.120.238.17: bytes=32 tiempo=1ms TTL=123 Respuesta desde 10.120.238.17: bytes=32 tiempo=1ms TTL=123
Estadísticas de ping para 10.120.238.17: Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos), Tiempos aproximados de ida y vuelta en milisegundos: Mínimo = 1ms, Máximo = 1ms, Media = 1msEtiquetas: programacion
jueves 22 de octubre de 2009
RTTI: reflection para Delphi.
Esto del RTTI (Runtime Type Information) existe hace muchos años, permite obtener en run-time la información de los objetos cargados en memoria. Mas información: http://www.orlandobrea.com.ar/2006/02/reflection-en-delphi.htmlhttp://delphi.about.com/od/oopindelphi/a/delphirtti.htmhttp://chris.lichti.org/Lab/RTTI_Lib/RTTI_Lib.shtmlhttp://homepages.borland.com/jedi/jcl/Una de mis intentenciones es conseguir serializar / deserializar como XML mediante el uso de RTTI. Deseadme suerte. Un ejemplo rudimentario. Para obtener la lista de propiedades (published) y eventos de un Tform: procedure TForm1.FormCreate(Sender: TObject); var lista : TPropList; count, I : integer; begin count := GetPropList(Sender.ClassInfo, tkAny, @lista); for I := 0 to count - 1 do begin showmessage(lista[I]^.Name); end; end; Una desventaja que yo le veo al RTTI es que sólo puedes obtener información de las propiedades marcadas como published. Por suerte a partir de Delphi 7 existe una extensión del RTTI que compilando el código mediante la directiva $METHODINFO ON es posible obtener información de métodos y propiedades marcadas como public, en éste enlace mas información. Etiquetas: programacion
martes 9 de junio de 2009
Lista de dominios de sistemas temporales de correos falsos
Leo de ésta entrada una lista de dominios de sistemas falsos que se utilizan para enviar emails: binkmail.com chogmail.com devnullmail.com frapmail.com guerrillamailblock.com mailcatch.com mailinator.com meltmail.com obobbo.com putthisinyourspamdatabase.com sendspamhere.com shinedyoureyes.com spamavert.com spamcorptastic.com spamgourmet.com spamherelots.com spamhereplease.com tempinbox.com temporaryinbox.com thisisnotmyrealemail.com trash-mail.com trashmail.net Etiquetas: programacion
miércoles 27 de mayo de 2009
F#
¿Qué es el lenguaje F#? Es un lenguaje de programación, que proporciona la mejor combinación de seguridad, rendimiento y script, con todas las ventajas de ejecutarse en un runtime moderno. Se ejecuta sobre el Framework de .NET Un lenguaje de programación de script, funcional, imperativo, orientado a objetos que es una base fantástica para realizar diversidad de tareas dentro de la programación Enlaces: Ejemplo de un programa en F#Lenguaje F#F# tutorialRecursos F#Etiquetas: .NET, programacion
viernes 8 de mayo de 2009
10 interfaces de usuario futuristas
martes 28 de abril de 2009
Patrones y antipatrones
En la wikipedia existen dos categorias muy interesantes dignas de estudio, donde se aglutinan patrones (búsqueda de soluciones a problemas comunes) antipatrones (malas solucionas a problemas), generalmente enfocadas al mundo del software: Categoría:Patrones de diseñoCategoría:Antipatrón de diseñoEtiquetas: programacion
miércoles 15 de abril de 2009
Openkapow: ayuda para apps Mashup
Con Openkapow puedes crear tu propio robot para reunir datos de diferentes sitios web de forma sistemática y así crear facilmente, a partir de la información reunida, tu propio mashup. Openkapow no deja de ser una versión refinada de webscrapper que te facilita el trabajo ya que permite obtener información de fuentes que no disponen de algun tipo de sindicación y hay gente que opina que estas técnicas no son muy ''legales'' porque consideran que es robo de contenido. Vamos, al igual que el post anterior, una gran ayuda para el programador :-). Enlaces relacionados: Crea tus propios mashupsxtractpro - Data Extraction MagazineComo hacer un mashup y no morir en el intento…Etiquetas: Herramienta Web, programacion
Programmable Web: ayuda para apps Mashup
MashUp: Aplicación Web Híbrida la cual integra herramientas o datos de una o más fuentes online en una nueva e integrada unidad. En Programmable Web te provee un listado con cientos de APIs que te ayudan a crear tu propio proyecto mashup, un listado de proyectos que implementan esas APIs en sus mashups, etc... Vamos, una gran ayuda para el programador :-) Etiquetas: Herramienta Web, programacion
martes 14 de abril de 2009
DZone Snippets
DZone Snippets contiene muchos ejemplos de trozos de códigos ('snippets') en varios lenguajes de programación.  Etiquetas: Herramienta Web, programacion
miércoles 1 de abril de 2009
Compiladores Online
Existen herramientas que corren en el propio browser y permiten probar diferentes lenguajes de programación. Es interesante si quieres aprender o probar un lenguaje en concreto sin instalar nada en tu PC e incluso en algunos casos generar alguna mini aplicación que te salve de algun "marron": La lista de compiladores/interpretes online que he encontrado: Try Ruby! (Ruby) Codepad (C, C++, D, Haskell, Lua, OCaml, PHP, Perl, Pytho, Ruby, Scheme y Tcl) JXXX Compiler Service (Java) CodeIDE (Basic, Pascal, C++, JavaScript y MATH) DJGPP Public Access Cross-Compiler ( C ) LaTeX-Online-Compiler ( Latex ) Etiquetas: Herramienta Web, programacion
miércoles 18 de marzo de 2009
Cloud computing
miércoles 4 de marzo de 2009
Datasets: La propiedad NullValue y DefaultValue
Un truco para ahorrar código y quebraderos de cabeza cuando trabajamos con datasets de .NET es la propiedad NullValue que se encuentra en de la definición de las columnas de un DataTable. Si quieres mas detalles sobre DefaultValue y NullValue, lee éste artículo . Pero en resumen, para 'NullValue' se trata de ahorrar la comprobación si el valor de la columna es nulo o no de modo que si la propiedad 'NullValue' la dejamos en blanco, de esto: if (!row.IsObservacionesNull()) obs = row.Observaciones; else obs = “”;
sólo necesitaremos hacer esto: obs = row.Observaciones;
Con DefaultValue, la idea es que al dar a ciertas columnas valores por defecto, al insertar una nueva fila al Dataset sólo nos tendremos que preocupar por dar un valor a los campos que nos interese. Etiquetas: .NET, programacion
MSLinqToSQLGenerator: Unspecified error
Cuando añades una partial class a una clase "Linq to SQL" de LINQ tienes todos los números que en un momento u otro acabe saliendo un error "'MSLinqToSQLGenerator' failed. Unspecified error" ¡incluso aunque tengas instalado el SP1 de Visual Studio 2008!. Gracias a éste enlace pude solucionar el problema. 1º paso: los using debe estar dentro del "namespace". Es decir de esto: using System.Linq; using System.Collections.Generic; using System.Data;
namespace SIRAMcenter.Datos.Plugins { partial class PluginInstanceDataContext { public IEnumerable<string> GetNombreClasePluginsNoIControl(int idCentro)
debes pasar a esto: namespace SIRAMcenter.Datos.Plugins { using System.Linq; using System.Collections.Generic; using System.Data;
partial class PluginInstanceDataContext { public IEnumerable<string> GetNombreClasePluginsNoIControl(int idCentro) {
2º paso: Ejecutar explicitamente la herramienta personalizada(MSLinqToSQLGenerator) de nuevo: 3ºpaso: limpia el proyecto y vuelve a compilar. Etiquetas: .NET, LINQ, programacion
martes 3 de marzo de 2009
LINQ con WCF: de carga diferida a explícita
LINQ por defecto utiliza la consulta diferida. Cuando "navegamos" entre las clases de un LINQ to SQL (.dbml) éste en background va generando las consultas y de este modo nos ahorramos consultas inutiles. El problema viene cuando queramos devolver una clase que forma parte de un .dbml como resultado de un método marcado como [OperationContract]. Es necesario modificar el comportamiento por defecto de consulta diferida a una consulta forzada. Ejemplo: PluginInstanceDataContext pluginsContext = new PluginInstanceDataContext();
var orderloadOption = new System.Data.Linq.DataLoadOptions(); DataLoadOptions dlo = new DataLoadOptions(); dlo.LoadWith(p => p.PluginParametro); dlo.LoadWith(p => p.PluginTipoControl); pluginsContext.LoadOptions = dlo;
var consulta = from plugins in pluginsContext.Plugin where plugins.IdCentro == idCentro select plugins;
Sino lo hacemos así nos encontraremos que las "clases hijas" no contienen datos. Etiquetas: .NET, LINQ, programacion, WCF
miércoles 25 de febrero de 2009
Cómo habilitar .dbml de LINQ para WCF
Vale, de acuerdo es una ""tonteria"" pero una tonteria que me ha hecho perder unas cuantas horas. Si utilizas LINQ y requieres que un método WCF marcado con atributo [OperationContract] devuelva una clase de un fichero .dbml necesitas que se serialize correctamente para viajar al cliente correctamente, para ello necesitas poner Serialization mode = unidirectional Etiquetas: .NET, programacion, WCF
Recursos de Usabilidad y Patrones de Diseño Web
martes 24 de febrero de 2009
Encriptacion mediante HASH
Una manera de encriptar una cadena es mediante un algoritmo de "ida" utilizando HASH. De este modo es imposible desencriptar lo ya encriptado. Si se trata de un password la idea es encriptar la contraseña ingresada y se compara el resultado con el password previamente almacenado. private string encriptarSHA1(string CadenaOriginal) { System.Security.Cryptography.HashAlgorithm hashValue = new System.Security.Cryptography.SHA1CryptoServiceProvider(); byte[] bytes = System.Text.Encoding.UTF8.GetBytes(CadenaOriginal); byte[] byteHash = hashValue.ComputeHash(bytes); hashValue.Clear(); return (Convert.ToBase64String(byteHash)); }
Etiquetas: programacion
sábado 21 de febrero de 2009
History of the internet
jueves 19 de febrero de 2009
LINQ Dynamic Query
Si quieres hacer algo como esto en LINQ: var query = db.Customers. Where("City = @0 and Orders.Count >= @1", "London", 10). OrderBy("CompanyName"). Select("new(CompanyName as Name, Phone)");
lo llevas claro... ya que .NET no permite realizar LINQ dinámico. Para solucionarlo existe una libreria que añadiendola a tu proyecto podras hacer cosas como la del ejemplo. Para descargar la libreria y unos ejemplos éste es el enlace o este. Artículo original: Dynamic LINQ(Parte 1: Usando la librería de LINQ Dynamic)Etiquetas: .NET, LINQ, programacion
lunes 9 de febrero de 2009
Librosweb.es
LibrosWeb.es publica gratuitamente todo el material que utilizan sus autores en los cursos que imparten. Además, publica traducciones de libros gratuitos relacionados con el diseño y la programación web. Siempre se podrá acceder gratuitamente a toda la información de este sitio, ya que creemos que la información debe ser libre.  Etiquetas: Herramienta, programacion
viernes 6 de febrero de 2009
C# code format: deja presentable tu código
C# code format es una pequeña utilidad que formatea código fuente c# para dejarlo presentable en una página Web. Además, el autor deja para descarga el código fuente si quereis saber cómo lo ha hecho ( zip); protected CodeFormat() { //generate the keyword and preprocessor regexes from the keyword lists Regex r; r = new Regex(@"\w+-\w+#\w+@@\w+#(?:\\(?:sw)(?:\*\+)?\w+)+@\\w\*+"); string regKeyword = r.Replace(Keywords, @"(?<=^\W)$0(?=\W)"); string regPreproc = r.Replace(Preprocessors, @"(?<=^\s)$0(?=\s$)"); r = new Regex(@" +"); regKeyword = r.Replace(regKeyword, @""); regPreproc = r.Replace(regPreproc, @"");
Etiquetas: programacion
miércoles 4 de febrero de 2009
Google Tech Talks
Las Google Tech Talks son charlas para empleados de Google que son grabadas y difundidas de forma gratuita. En estos momentos hay mas de 1000 grabaciones!. Creo que son un buen recurso para aprender cosas nuevas, habrá que echar un buen vistazo. Etiquetas: Herramienta Web, programacion
El codec de video RMVB
Si te bajas un archivo .rmvb que sepas que te has topado con un formato multimedia desarrollado por RealMedia. Es un formato propietario que en un principio es capaz de reproducir RealPlayer. Sino te interesa descargarte este reproductor para no enguarrar tu S.O. puedes optar por bajar unos codecs alternativos llamados Real Alternative Lite. Etiquetas: programacion
martes 3 de febrero de 2009
Cómo solucionar error de instalación de IE7
Cuando intenté hace cosas de una semana actualizar de IE6 a IE7 en un Windows XP el instalador me daba un error (indefinido) y abortaba la actualización, despues de navegar por internet un rato encontré la solución y es que por lo visto el instalador de IE7 necesita escribir en una serie de entradas del registro de windows perono tiene permisos de escritura. 1) Abre 'c:\windows\ie7.log' y busca unas líneas parecidas a estas con el error 'unwriteable': ... 0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\ProxyStubClsid320.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D}\TypeLib0.547: IECUSTOM: Unwriteable key HKCR\Interface\{34A715A0-6587-11D0-924A-0020AFC7AC4D} ...2) Buscar en regedit la entrada y dale permisos total de escritura. 3) Reinicia la máquina y vuelve a lanzar el instalador del IE7. Etiquetas: programacion
viernes 30 de enero de 2009
Ideas top-down vs ideas bottom-up
viernes 12 de diciembre de 2008
Comandos TCP-IP para Windows
A veces es necesario conocer los comandos IP, para analizar e incluso configurar nuestra red TCP/IP. A continuación una lista de comandos a utilizar en una ventana DOS: PingTracertIpConfigNetStatRouteArpNbtStatTelnetHostnameFtpartículo original: Comandos TCP-IP para WindowsEtiquetas: programacion
jueves 4 de diciembre de 2008
Traducciones al Castellano de documentos del W3C
Queria recomendar este enlace perteneciente al World Wide Web Consortium ( W3C) que son traducciones al castellano de algunos de sus documentos. Quiero agradecer, especialmente a la fundación Sidar sus traducciones. Etiquetas: Herramienta Web, programacion
lunes 6 de octubre de 2008
Trac. control de versiones y mas.
Siguiendo con las misma temática que una entrada anterior . He buscado alguna solución free que integre, ademas de un control de versiones, otras herramientas útiles para llegar a buen puerto en el desarrollo de un proyecto. Una muy interesante es Trac ( 2): tiene un Wiki, acceso visual al control de versiones subversion, sistemas de tickets (bugs, mejoras,etc..), timeline, roadmap, etc. Aparte, no hay excusa para no utilizar subversion, ya que existe por ejemplo el plugin TamTam SVN ( 2) que por 10$ hacer que VS soporte casi todas las operaciones que son necesarias (check-in, check-out, commit, abrir soluciones o proyectos, conexión con repositorios, ver histórico, comparar diferencias…). Etiquetas: .NET, programacion
jueves 2 de octubre de 2008
Stop-Words!
Picando código para implementar un boton de búsqueda en mi blog me encuentro con que quiero eliminar de la indexación palabras que no aporten significado. A partir de este artículo me entero que a la lista de palabras que no aportan significado se les llama stop-words. Hay varios sitios donde encontrar estas listas: en elwebmaster.com, en un artículo. en ranks.nl, donde proporcionan ademas otras listas interesantes. Etiquetas: programacion
viernes 26 de septiembre de 2008
Control de versiones.
Para la gestion de proyectos para .NET, Microsoft ofrece TFS que aparte de venir de "serie" con un sistema de control de versiones ofrece muchas mas cosas y por lo visto es lo que Microsoft esta potenciando. Si sólo necesitas control de versiones puedes optar por Visual Source Safe que es compatible con VS 2005 y 2008, aunque por lo visto Microsoft lo esta dejando algo de lado y me apostaria que a la larga dejara de dar soporte. Otro sistema es CVS o subversion, que son software libre, existen plugins para VS 2005 y 2008, como AnkhSVN, tortoise o uno de pago pero mas completo que se llama visualsvn, en este enlace el autor explica su experiencia. Etiquetas: .NET, programacion
martes 23 de septiembre de 2008
Encoding UTF-8: peleandome con mi hosting
Por fin he arreglado un error que me estaba tocando las narices! gracias a esta antigua entrada en microsiervos. Resulta que habían páginas de mi página personal donde salían caracteres extraños, en un principio pensaba que era un problema de código HTML, pero después de revisar una y mil veces el código y comprobar repetidas veces que en todas las cabeceras pusiera como charset el iso-8859-1 empecé a sospechar que era un problema de mi hosting y la configuracíón de Apache. Al final lo resolví añadiendo "AddDefaultCharset utf-8" en mi .htaccess. Pues nada, si a alguien le pasa lo mismo ya sabe ;-) Etiquetas: programacion
miércoles 17 de septiembre de 2008
La nueva API de Youtube.
Hace varios meses Google lanzó una nueva versión de la API de Youtube. Por lo que he podido observar dando una vuelta por la blogoesfera es que se están creando grandes espectativas ya que con esta nueva API un programador puede utilizar Youtube como plataforma donde hospedar y gestionar sus videos de forma "automática". Etiquetas: PHP, programacion
viernes 12 de septiembre de 2008
cplusplus
Necesitaba un buen help de c++ para un programita homebrew que estoy preparando para la Nintendo DS y me encontré con cplusplus , super recomendable sobretodo para gente como yo que tiene poca memoria ;-) . El tutorial de c++ cojonudo y las referencias a las librerias, impresionante.  ¿Existe algun buen compilador de C++ con un entorno de desarrollo integrado potente y que sea software libre? ... pozi.. pozi... lo hay. Tenemos Dev-C++. Aqui una entrada que habla de ello. Tambien está Eclipse. Desde aqui se puede bajar. Etiquetas: programacion
viernes 5 de septiembre de 2008
Homebrew para Nintendo DS.
He estado leyendo sobre el Homebrew para la Nintendo DS. Se tratan de programas "caseros" para meterlas en tu Nintendo DS. Para ello necesitas una FlashCard como esta. Aquí una comparativa de estas tarjetitas. Existen librerias que facilitan la escritura del programa: PAlib (PAlib is a Nintendo DS library used to create homebrew games). DevKitPro (PAlib se basa en éste). Woopsi (Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system). y muchos mas. Para probar tus programitas Homebrew puedes utilizar un emulador como no$gbaExisten comunidades dedicadas a este tema como por ejemplo NDS.SceneBeta . Aquí me podeis encontrar por los foros con el nombre de lite3. Normalmente los programas se escriben en C++ pero existen otros lenguajes minoritarios como el lenguaje Pascal. Free Pascal ( 2) a partir de la versión 2.2.0 es capaz de compilar para Nintendo DS al ser capaz de generar binarios para procesadores ARM. Etiquetas: programacion
viernes 8 de agosto de 2008
Frameworks
Quisiera recomendar la sección frameworks de vivaPhp. Ultimamente estoy echando un vistazo a frameworks PHP. He visto uno que se llama Kumbia, que tiene la ventaja de ser "made in spain". Otro es Kohana que me ha interesa mucho porque basandose en Codeigniter corrigue algunos errores de éste último. Etiquetas: PHP, programacion
jueves 31 de julio de 2008
arc90
arc90 son un grupo de desarrolladores que tienes cosas interesante para descargar. arc90 is an experienced team of design and technology professionals. We are passionate about creating groundbreaking, compelling web/software experiences.  Etiquetas: programacion
miércoles 30 de julio de 2008
Una libreria para detectar caras
en este enlace explican cómo. Etiquetas: programacion
martes 1 de julio de 2008
Desarrollo con MSN
Desde esta página: http://www.desarrollaconmsdn.com/puedes aprender las últimas tecnologías de .NET aplicadas a un desarrollo real. El principal objetivo es compartir las mejores prácticas para la creación de aplicaciones empresariales con .NET, siempre desde un punto de vista práctico y orientado a escenarios reales Etiquetas: programacion
martes 17 de octubre de 2006
GotAPI, guía de referencia
guia online sobre CSS, HTML, XSL, XSD, PHP, MySQL, Java, J2EE, Struts, DITA, etc : GotAPI para CSS o XHTML tambien está: w3schools, via: html lifeEtiquetas: programacion
miércoles 12 de julio de 2006
Microformatos
Hoy he descubierto una 'cosa' llamada Microformatos. Por lo visto es una idea que trata de aproximase al concepto de Web Semantica y se basan en código XHTML, uno de los primeros en utilizar este termino fue Technorati. Para mas info, aquí hay un artículo de Manuel G. Noriega que lo explica muy bien. Etiquetas: programacion
|