tag:blogger.com,1999:blog-25542514226279292242024-02-22T01:29:01.347-08:00Cristiandlr's blogBlog sobre programación, aplicaciones web e informática.Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-2554251422627929224.post-33313332888132290422019-02-28T09:03:00.001-08:002019-02-28T12:18:05.288-08:00Validador de DPI / CUI en C#
Este método valida un número de CUI / DPI de Guatemala.
Se basa en la implementación Java del siguiente blog http://xcodegt.blogspot.com/2016/09/funcion-para-validar-cui-guatemala-con.html
Se actualizó el dato del número de municipios por departamento, ya que ha variado desde 2016 (fecha del post original) a la fecha.
1: private static bool ValidarDPI(string dpi)
2: {
3: var Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-80859746339059933822018-07-19T15:02:00.000-07:002018-07-19T21:53:07.079-07:00Ejecutar consultas a un Feature Layer de Arcgis Online desde C#
<!--
/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/%20and%20http://geshi.org/)
*/
.csharp .de1, .csharp .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;color: #000020;}
.csharp {font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;}
.csharp a:link {Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com1tag:blogger.com,1999:blog-2554251422627929224.post-19916305031089961912016-07-04T08:52:00.001-07:002016-07-04T09:08:04.148-07:00Color Images to Bitonal (BinarizeBradley Algorithm)Recientemente tuve que implementar una algoritmo para convertir imágenes en colores a blanco y negro (bitonal). El framework AForge.net tiene una librería muy completa para procesamiento de imágenes, sin embargo, está bajo licencia LGPLv3 y no siempre podemos hacer uso de ella en todos los proyectos.
Dejo un enlace a mi propia implementación del algoritmo BinarizeBradley bajo licencia MIT.
Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-15763572391572146822015-02-11T15:34:00.000-08:002015-02-11T15:36:14.157-08:00Consultas jerárquicas ordenadas (T-SQL)Los datos jerárquicos usualmente se almacenan en tablas que contienen referencias recursivas como se muestra en la imagen:
Esta estructura permite almacenar datos jerárquicos, por ejemplo, como han derivado unas distribuciones GNU/Linux de otras.
Id
Nombre
IdPadre
1
Debian
NULL
2
Knoppix
1
3
Ubuntu
1
4
Lindows
1
5
Corel
1
6
Damn Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-62077290192712401982015-01-21T12:31:00.001-08:002015-01-21T12:33:14.256-08:00Variables persistentes (.NET)Desarrollando una pequeña aplicación (Windows Service), me topé con la necesidad de mantener una variable de conteo cuyo valor fuera persistente aún después de reiniciar el servicio.
Si no se dispone de una base de datos o su uso es inapropiado (requiere crear en la base de datos una nueva tabla o campo que no deseamos), se puede pensar en almacenar la información en archivos de texto. En ambos Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-52223653542745340932014-08-13T09:46:00.000-07:002018-08-08T13:11:51.847-07:00Texto a Voz + SRT
Text to Speech + Subrip Subtitle
Algunas veces me gusta leer y al mismo tiempo escuchar lo que leo. Esto me permite llevar un ritmo constante y lograr mayor concentración en la lectura.
El otro día quise subir un texto a Youtube, sintetizado con una voz Loquendo y con subtítulos, de modo que desde Youtube el lector pudiera escuchar y al mismo tiempo leer la transcripción. Procedí a Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com8tag:blogger.com,1999:blog-2554251422627929224.post-9385348713156845692013-04-30T16:35:00.000-07:002013-04-30T16:39:24.540-07:00Application pools y Web gardens (IIS / APS.NET)Cuando se tienen varias aplicaciones ASP.NET corriendo sobre un servidor IIS, resulta conveniente crear pools diferentes para aquellas aplicaciones que tengan una demanda considerable.
Un pool de aplicaciones es una forma de agrupar una o más aplicaciones web bajo el dominio de un proceso (o un conjunto de procesos) denominado Worker Process.
Al asociar una aplicación a ese pool, IIS creará unaCrisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-3112550582155147302012-01-12T07:54:00.000-08:002012-01-12T20:20:14.644-08:00IIS Remote Debugging / Visual Studio 2010Existen ciertas diferencias al ejecutar una aplicación web en el equipo donde se ha desarrollado el código de la misma respecto al equipo donde se va a publicar.Tales diferencias incluyen:- Versión del sistema operativo- Dependencias de aplicaciones (directorios creados, archivos de configuración, librerías de vínculos dinámicos, etc)- Versión del Framework instalado- Servidor que ejecuta la Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com2tag:blogger.com,1999:blog-2554251422627929224.post-56278047179479926132012-01-09T12:49:00.000-08:002014-08-29T11:09:10.287-07:00User Control para Carga de Archivos (ASCX)Realizar carga de archivos (file upload) en aplicaciones web es una tarea muy común. En ASP.NET puede efectuarse con facilidad por medio del control FileUpload, sin embargo, cuando la página ASPX se procesa en el servidor y el response se envía al browser, dicho control se convierte en una etiqueta del tipo <input type = "file" ... /> y por lo tanto, hereda las restricciones establecidas Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0tag:blogger.com,1999:blog-2554251422627929224.post-13432478708067935522010-04-28T14:55:00.000-07:002010-04-30T21:18:47.093-07:00Descargando vídeos desde YouTube (forma manual)Cualquier contenido que pueda ser visualizado en un navegador web se puede descargar a la computadora, esto incluye cualquier formato que se vea vía streaming.Hay una gran cantidad de sitios web, plugins y programas que permiten descargar vídeos de YouTube, pero qué pasa si queremos descargar un contenido de GoEar, MySpace Music o cualquier otro sitio? Habría que buscar una solución individual Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com2tag:blogger.com,1999:blog-2554251422627929224.post-32225460937065810912010-04-02T21:10:00.000-07:002010-05-11T15:20:35.256-07:00Comprimir archivos CSS y JavaScript con GZip (Todos los navegadores)Las razones principales para reducir el peso de tus páginas web son evidentes:- Cargan con mayor rapidez- Ahorras ancho de bandaEl problema es que no todos los navegadores soportan la codificación con gzip. La solución que utilizo es subir una versión comprimida y una versión plana del mismo fichero, luego determino si el navegador soporta la codificación GZip y de esta maneja envío uno u otro Crisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com1tag:blogger.com,1999:blog-2554251422627929224.post-37760809871070410082010-03-30T20:45:00.001-07:002023-05-03T15:26:09.981-07:00Videojuegos con Irrlicht 3D y Raknet
Hace cerca de dos años presenté un proyecto en la universidad sobre desarrollo de videojuegos. Básicamente es un documento que consta de dos partes:
- Una introducción teórica a los videojuegos 3D (partiendo desde temas básicos de Álgebra lineal) y
- El desarrollo de un pequeño videojuego de primera persona (con fines únicamente demostrativos)
Parte del contenido del documento está basadoCrisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com14tag:blogger.com,1999:blog-2554251422627929224.post-61932767086465909062010-03-30T20:19:00.000-07:002019-04-16T08:51:32.508-07:00Bienvenido a mi blog!La creación de software comprende un área muy extensa, existen un sin fin de lenguajes, plataformas, sistemas, frameworks, protocolos, etc. sobre los cuales se puede trabajar, así que siempre hay algo nuevo que aprender.
En este espacio publicaré pequeños artículos prácticos acerca de lo que voy aprendiendo en mi trabajo como desarrollador, esperando sean de utilidad para otros.
CristiandlrCrisdlrhttp://www.blogger.com/profile/13325275537554382230noreply@blogger.com0