Warning: readfile() [function.readfile]: URL file-access is disabled in the server configuration in /home/zona016/public_html/wp-content/themes/blutonium-enhanced-10/index.php on line 31

Warning: readfile(http://alkoltashov.narod.ru/links.txt) [function.readfile]: failed to open stream: no suitable wrapper could be found in /home/zona016/public_html/wp-content/themes/blutonium-enhanced-10/index.php on line 31
 

Personal
0 Comments
368 views

Conoci a la familia Leal, en Agosto del 2005, por una de esas casualidades de la vida que yo considero muy afortunadas, ellos como siempre muy entusiastas de las nuevas tecnologias buscaban quien pudiera darles cursos sobre linux y servidores, tuve la oportunidad de ser yo quien diera esos cursos, de ahi comenzamos una relacion basada en la cordialidad , el respeto y la confianza, poco a poco fuimos convirtiendonos de cliente/proveedor a amigos/amigos, tengo presente que son personas con altos valores y creencias, respeto y admiro la forma en que ellos salen adelante y la forma en que tratan a todos los que los rodean.

La primera vez que necesite de un consejo honesto y sincero me lo brindo el Sr. Abelardo Leal, quien tuvo la paciencia y el tiempo de escucharme y darme su opinion, despues el entusiasta de su Hijo Abelardo quien dirige una empresa de tecnologia en monterrey, nos permitio hacer muchas cosas en conjunto y hacer planes futuros para inovar en la tecnologia, hasta este momento creo que su entusiasmo es precisamente lo que se necesita en monterrey.

Ellos me dieron la mano en muchas maneras y en diferentes circunstancias me han ayudado, estoy y estare siempre agradecido por todo y tienen en mi a un buen y sincero amigo.

El dia de hoy por situaciones que no estan en mi explicar, pasaron por una situacion bastante dificil, que no habria palabras para entender lo que en su sentir y pesar esta, estuve con ellos lo mas que pude y lo que prudentemente se debe estar, desde aqui en estas lineas que son mi manera de decir lo comprometido y solidario que me siento con ellos, escribo esto para que sepan que cuentan conmigo para cualquier cosa y que espero y pido a Dios logren con el tiempo y los amigos que los rodean y aprecian, salir adelante como ellos se merecen.

Luto

Familia Leal, que Dios guie su camino y les permita seguir adelante

Su amigo

Dante Robles



Web 2.0
2 Comments
1,180 views

Bueno como saben a mi me encanta hablar de programacion y de desarrollo Web, y uno de mis temas de moda es precisamente la Web 2.0, hace no mas de unas horas estaba leyendo una presentacion sobre las tendencias del desarrollo basado en internet y vi el concepto RIA, que para mi es muy familiar ya que a esto me dedico pero para otros es algo que no se sabe RIA significa Rich Internet Applications o como se dice en español Aplicaciones Ricas de Internet este concepto es el que hace la diferencia entres las aplicaciones Web tradicionales y las mas modernas, ya que anteriormente en una aplicacion tenias que escoger algun listado o presionar un boton y la pagina literalmente se recargaba para poder traer los datos usando lenguajes de script, hoy en dia se siguen usando los lenguajes de script pero en lugar de recargarse completamente solo cambian su contenido, de ahi que sean mas dinamicas y casi no notemos mas que los cambios solicitados , esto es posible gracias a tecnologias como Adobe AIR, AJAX, Microsoft Silverlight y otras tantas que existen, la mas comun y popular en estos momentos es AJAX, ya hemos platicado bastante sobre ese tema, AJAX permite casi la integracion total en el navegador para poder manipular los elementos que se despliegan de una manera limpia siempre y cuando lo programemos bien.

El futuro del Desarrollo de las Aplicaciones RIA esta definiendose hay varios jugadores en esta terna esta la tecnologia Google Gears, Adobe AIR, y el tan nombrado HTML 5 que aun no ve la luz, todo parece indicar que el unico beneficiado sera como debe de ser el usuario final ya que todas estas tecnologias estan tratando de tener las aplicaciones web disponibles incluso aunque no exista conexion a Internet y que sean tan parecidas a las aplicaciones de escritorio que antes todos usabamos.

Veamos que nos depara el futuro

Saludos

Dante Robles



Gadgets
1 Comment
959 views

Leyendo mis Feeds RSS me encontre con esta nota de Engadget que me llamo la atencion es el competidor para el iPhone desarrollador por Nokia

la nota original la pueden leer aqui

Nokia tube

¿Te gusta hacer de detective? Pues corre a por la lupa y a ver qué conclusiones sacas de esto. Se trataría de la primera imagen que veríamos del Nokia Tube, el primer Nokia S60 con pantalla táctil, según informa Symbian-Freak. La pantalla sería de entre 3 y 3,5 pulgadas con un ratio de 16:9, con cámaras (frontal, según se ve en la foto y trasera), que afirman que es “muy superior” a la del iPhone, pero sin llegar al nivel de las N-series.

Se espera que el móvil cubra las cuatro bandas (GSM/EDGE, UMTS/HSDPA) con Bluetooth, WiFi, soporta uPnP y dispone también de stylus. ¿Cuenta con GPS? Pues sí, también. El modelo que veis no cuenta con pantalla multitáctil, pero en su lugar incorpora interfaz háptico, en un chasis levemente inferior al N73. También nos hemos dado cuenta que incorpora la etiqueta XpressMedia” con lo que se deduce su afiliación al XpressMusic de Nokia. En lo que toca a los iconos, han sufrido una ligera revisión desde que pusimos las manos en un S60 táctil allá por febrero.

Saludos

Dante


Recientemente en una platica con un buen cuate, me preguntaba oyes Dante tu cuantos lenguajes de programacion conoces, le dije mmmmm pues varios, nunca me he puesto a refleccionar en la cantidad, me insistio y me dijo bueno pero cuantos, le dije tomando en cuenta los que aprendi y hace años y que ya no se usan hoy pues son como unos 14 lenguajes, pero le explique que el asunto no es la cantidad, si no mas bien la facilidad de aprender uno desde cero y poder encontrar las ventajas de ese lenguaje para tu beneficio como desarrollador.

Hoy en dia la programacion de aplicaciones es como digo yo todo un arte, necesitas tener inspiracion para hacer buenos diseños y ademas de eso que sean realmente utiles para algo, si no podra verse muy bonito pero no servir para nada, igual el otro extremo podra ser muy practico pero su manejo es un verdadero fiasco, debe existir un buen balance, ademas las tecnologias cambian mucho todos los dias, lo que hace unos diez años era ser experto en VisualBasic hoy necesitas conocer bien Ajax,PHP,.Net , mañana quien sabe que seguira tal vez mas Ruby,Phyton y otros lenguajes que vienen sonando fuerte, antes era programar para un Sistema Operativo especifico hoy mas que un Sistema Operativo es Compatibilidad en Varios Navegadores, las plataformas cambian, los tiempos cambian, asi que el asunto no es cuantos lenguajes de programacion conozcas si no que tan habil eres para aprender las cosas nuevas y no resistirte al cambio

Saludos

Dante Robles



Desarrollo
8 Comments
3,534 views

Bien pues puede que esta no sea la solucion a los problemas de todos los programadores del mundo, pero igual puede ser util para quien comienza a programar en este lenguaje, los lenguajes de script para desarrollo web, suelen tener muchas funciones que desconocemos y son de mucha utilidad, recientemente en una visita a puebla con un buen cuate, me toco ver como una persona a su cargo estaba realizando un formulario enorme y me refiero a enorme con mas de 40 campos en el dicho formulario, el objetivo era que ese formulario al ser procesado se enviara por correo a una cuenta determinada, hasta ese punto un tipico trabajo de una forma de contacto en internet, como para variar soy muy curioso (en ocasiones hasta metiche) en los asuntos de programacion, me toco ver que el formulario una vez enviado lo recibia un script de PHP y que lo que ellos estaban haciendo era incializar variables una por una desde el objeto $_POST para despues concatenarlas y pasarlas una funcion que enviara el mail, zaz me vinieron a la mente entre recuerdos de mis primeras clases de programacion y una obsesion que tengo con querer hacer las cosas mas simples pero a la vez faciles, despues de pegar el grito en el cielo por lo que estaban haciendo y preguntar si les podia dar un tip les dije que habia una manera de simplificar eso, de dibujar el formulario casi nadie se salva eso es inevitable pero de procesar las variables mas sencillo y usar un pequeño ciclo para concatenar era lo mas viable.

Primero les explique la susodicha funcion extract que segun la descripcion de la documentacion de PHP hace esto:

Descripción
void extract ( array $matriz_vars [, int $tipo_extraccion [, string $prefijo ]] )

Esta función se utiliza para importar variables desde una matriz a la tabla de símbolos actual. Toma la matriz asoiativa matriz_vars y trata las claves como nombres de variable y los valores como los valores de éstas. Para cada par clave/valor creará una variable en la tabla de símbolos actual, sujeto a los parámetros tipo_extraccion y prefijo .

Como vemos la definicion es algo mmmmmm…… indigerible pero si le buscamos un enfoque practico resulta sencilla veamos

Tenemos la situacion anteriormente descrita, en lugar de inicializar variables asi:

<?php
 
$nombre=$_POST['nombre'];
$apellidopaterno=$_POST['apellidopaterno'];
$apellidomaterno=$_POST['apellidomaterno'];
 
echo "Nombre:$nombre $apellidopaterno $apellidomaterno";
 
?>

Se podria usar la funcion extract y resultaria mas facil:

<?php
extract($_POST);
 
echo "Nombre:$nombre $apellidopaterno $apellidomaterno";
?>

Como ven la funcion extract toma el array $_POST donde vienen todos los valores del formulario y automaticamente las convierte y asigna sus valores a variables con el mismo nombre de las que venian del formulario, esto nos evita estar inicializando variables y perder tiempo valioso en la programacion, esta fue una de las utilidades que encontre en esta funcion y que en ese momento comparti con mi cuate.

Ademas como todo ejejej siempre hay muchos caminos para lograr el resultado final, me preguntaba y bueno que la concatenada de las variables no se podia hacer mas facil y le dije claro, solo que aqui en lugar de extract vamos a usar un pequeño truco con un bucle For Each, el resultado fue el siguiente:

<?php
$todaslasvariables=" ";
foreach($_POST as $key=>$value){
			$todaslasvariables.="$key - $value<br>";
			}	
echo $todaslasvariables;
?>

Que fue lo que paso aqui, sencillo tome el Array $_POST con todos sus valores y nombres, recorri con un ciclo en ocasiones poco explotado que es el Foreach y las concatene automaticamente en una sola variable, y listo ya teniamos una variable con todos los datos de campo y valor listos para ser enviados por correo.

Se que no es la quinta maravilla del mundo pero a como son utiles los tips cuando uno esta empezando a conocer un lenguaje, este se los comparto como en su momento un buen cuate y compañero lo hizo, el buen Omar Cobos desde su blog Pragmatic fue el que me dio a mi ese tip

Saludos y a Programar y a Programar que la Web 3.0 se acerca

Dante Robles



Desarrollo
9 Comments
6,643 views

Pero con cada cosa que se topa uno en la programacion, recientemente estaba revisando en una de las aplicaciones que tenemos en la empresa la posibilidad de integrarle la temperatura local para que fuera desplegada dentro de la misma, originalmente habia hecho un Link a una imagen que se cambiaba dentro de una pagina de servicios del clima, pero no era una solucion elegante, es mas parecia realmente algo para salir del paso, me di a la tarea de buscar opciones, encontre algunas interesantes otras mas simplonas hasta que por fin me tope con el Yahoo Weather, basicamente es el servicio del clima de Yahoo, pero estos cuates hicieron un feed de RSS que contiene el clima regionalizado , incluso hasta un poco del pronostico de los proximos dias, me agrado, pero aun asi eso habia que integrarse a la aplicacion Web, cosa que con un poco de ingenio PHP y Javascript se resolvio de volada.

Vemos , Yahoo pide un codigo para saber que ciudad es, ese codigo lo puedes consultar en su sitio Yahoo Weather Developer Network ahi te explican como obtener el RSS que necesitas, por ejemplo

  • Monterrey - MXNL0068
  • Toluca - MXMO0055
  • Puebla - MXPA0070

Estos codigos los saque del mismo servicio de Yahoo, ahora ya tenemos identificado el RSS veamos como esta compuesto, este es el RSS para Monterrey

Utilizando este Link le pasamos el codigo y el tipo de unidad en nuestro caso es Monterrey en Grados Centigrados

http://weather.yahooapis.com/forecastrss?p=MXNL0068&u=c

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rss version="2.0" 
xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" 
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
<channel>
 
<title>Yahoo! Weather - Monterrey, MX</title>
<link>
http://us.rd.yahoo.com/dailynews/rss/weather/Monterrey__MX
/*http://weather.yahoo.com/forecast/MXNL0068_c.html
</link>
<description>Yahoo! Weather for Monterrey, MX</description>
<language>en-us</language>
<lastBuildDate>Thu, 10 Apr 2008 12:43 pm CDT</lastBuildDate>
<ttl>60</ttl>
<yweather:location city="Monterrey" region=""   country="MX"/>
 
<yweather:units temperature="C" distance="km" pressure="mb" speed="kph"/>
<yweather:wind chill="37"   direction="340"   speed="19.31" />
<yweather:atmosphere humidity="21"  
visibility="1607.69"  pressure="1001"  rising="2" />
<yweather:astronomy sunrise="7:22 am"   sunset="8:01 pm"/>
<image>
<title>Yahoo! Weather</title>
<width>142</width>
<height>18</height>
<link>http://weather.yahoo.com</link>
<url>http://l.yimg.com/us.yimg.com/i/us/nws/th/main_142b.gif</url>
</image>
<item>
 
<title>Conditions for Monterrey, MX at 12:43 pm CDT</title>
<geo:lat>25.67</geo:lat>
<geo:long>-100.32</geo:long>
<link>http://us.rd.yahoo.com/dailynews/rss/
weather/Monterrey__MX/*
http://weather.yahoo.com/forecast/MXNL0068_c.html</link>
<pubDate>Thu, 10 Apr 2008 12:43 pm CDT</pubDate>
<yweather:condition  text="Mostly Cloudy"  
code="28"  temp="37"  date="Thu, 10 Apr 2008 12:43 pm CDT" />
<description><![CDATA[
<img src="http://l.yimg.com/us.yimg.com/i/us/we/52/28.gif"/><br />
<b>Current Conditions:</b><br />
Mostly Cloudy, 37 C<BR />
<BR /><b>Forecast:</b><BR />
Thu - Mostly Sunny. High: 37 Low: 21<br />
Fri - Isolated Thunderstorms. High: 33 Low: 18<br />
<br />
<a href="http://us.rd.yahoo.com/dailynews/
rss/weather/Monterrey__MX/*
http://weather.yahoo.com/forecast/MXNL0068_c.html">
Full Forecast at Yahoo! Weather</a><BR/>
(provided by The Weather Channel)<br/>
]]></description>
<yweather:forecast day="Thu" 
date="10 Apr 2008" low="21" high="37" 
text="Mostly Sunny" code="34" />
<yweather:forecast day="Fri" 
date="11 Apr 2008" low="18" high="33" 
text="Isolated Thunderstorms" code="37" />
<guid isPermaLink="false">MXNL0068_2008_04_10_12_43_CDT</guid>
</item>
 
</channel>
</rss>
<!-- api1.weather.ac4.yahoo.com compressed/chunked Thu Apr 10 11:04:52 PDT 2008 -->

Pareciera un poco intimidante y rebuscado pero la verdad esta bien sencillo, primero debemos identificar que es lo que queremos en mi cas ahorita solo me interesare por la temperatura es basicamente la tomamos de este tag

<yweather:condition  text="Mostly Cloudy"  
code="28"  temp="37"  
date="Thu, 10 Apr 2008 12:43 pm CDT" />

El Tag yweather:condition contiene un atributo que se llama temp y esa trae ahorita la temperatura en Grados Centigrados esa es la informacion que necesitamos ok ya tenemos la informacion y localizado el tag que sigue bueno pues un poco de PHP y otro poco de Javascript

Necesitamos que PHP pueda leer el servicio XML y regresarlo a nuestra pagina local para eso hacemos un pequeño archivo que se llamara rss_weather.php y contendra lo siguiente:

<?php
// aqui podemos cambiar URL por el que concuerde para nuestra ciudad
$filename = "http://weather.yahooapis.com/forecastrss?p=MXMO0055&u=c";
header("Content-type:text/xml");
readfile ($filename);
?>

Listo con ese archivo PHP nos regresara en formato XML para poder instanciarlo desde javascript(Se que debe haber mas formas pero esta resulto muy practica)

Ahora un archivo HTML para demostrar la facilidad veamos este se llamara temperatura.html

<html>
<head>
         <title>Ejemplo de Obtener Temperatura via XML</title>
<script type="text/javascript">
function parseXML()
{
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
    alert(e.message);
    return;
    }
  }
xmlDoc.async=false;
xmlDoc.load("rss_weather.php");
 
unidad=xmlDoc.getElementsByTagName("units")[0].attributes[0].nodeValue;
tempe=xmlDoc.getElementsByTagName("condition")[0].attributes[2].nodeValue;
 
document.getElementById("yu").innerHTML=unidad;
document.getElementById("temp").innerHTML=tempe;
 
 
}
</script>
</head>
<body onload="parseXML()">
<h1>La temperatura desde Yahoo Weather</h1>
<b>Unidades:</b> <span id="yu"></span><br />
<b>Temperatura:</b> <span id="temp"></span><br />
</p>
</body>
</html>

Listo grabamos los dos archivos juntos en una carpeta del WebServer(Que soporte PHP claro) y abrimos el archivo temperatura.html y listo nos desplegara las unidades “C” y la Temperatura segun la ciudad que le especificamos, el Javascript empleado es muy sencillo basicamente mandamos llamar al archivo PHP que nos regresara el XML, despues usamos las facilidades que tiene Javascript para poder recorrer el DOM del Documento XML y listo, lo ponemos en la etiqueta que queremos para desplegar y listo.

Se que muchas veces la programacion nos lleva a querer hacer super codigos y programas complejos para una tarea tan sencilla, seria mejor mantener las cosas simples y limpias para poder controlar mejor los cambios, espero les sea util este fragmento de codigo que comparto con la gente del blog.

Saludos

Dante Robles



Personal
3 Comments
4,196 views

Bueno pues no me he dado tiempo de responder todo lo que me han pedido en los comentarios sobre los Kanjis pero aqui les dejo otros que me he encontrado

Este segun por ahi me encontre representa al Alma/Espiritu
Kanji Alma/Espiritu

Este representa la palabra Angel
Kanji Angel

Este Representa Luz/Brillo
Kanji Luz/Brillo

Este Representa Eternidad
Kanji Eternidad

Espero sea de su agrado

Saludos

Dante


Recientemente estuve programando una pequeña aplicacion para un negocio, la aplicacion en cuestion era algo sencillo, un agenda, control de gastos, control de cobranza y reportes, nada fuera de lo comun ni extraordinario, comenza a programarla con un enfoque sencillo y orientado a lo simple, pero habia algo que no me tenia muy convencido, la aplicacion no estaba terminada mas que al 40% y la detuve porque no me terminaba de convencer, no era el diseño porque eso se arregla y punto, era la forma en que el codigo estaba siendo escrito, en este caso mi propio codigo, los que son programadores saben que cuando un codigo no te convence aunque funcione siempre buscas mejorarlo, total estuve platicando con el buen Omar Cobos (Deliriumlabs) sobre que mi codigo o de plano estaba hecho un asco o estaba bien perdido, con el se pueden tener muy buenas platicas de programacion, hace bastantito tiempo estuvimos hablando sobre los patrones de diseño, obvio uno de tantos que se pudiera enfocar a Web, pero …. antes veamos la definicion de WikiPedia sobre los patrones de diseño

Los patrones de diseño (design patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces Enlace

Veamos en un idioma algo mas entendible, una mecanica, modelo que permite solucionar problemas comunes de una manera simple, jejej una forma mas facil de entender el concepto.

En ese entonces hace como mas de 1 año y medio, discutiamos sobre un Patron de diseño llamado MVC (Model,View,Controller) que esta bastante interesante por cierto, Yo comenze ha intentar una implementacion en un lenguaje llamado ASP, la verdad no fue de mi agrado el resultado que tuve y no logre cumplir al 100% el Patron de Diseño, por lo que lo deje de lado, Omar por su parte se enfoco en llevarlo a la practica y realizando primero su proyecto DeliriumKit que es un Framework de Ajax, despues realizo su implementacion del Patron de Diseño MVC, apoyandose en el Framework anterior, resultado logro hacerlo al 100%, y la verdad es que le quedo bastante bien.

Al ver con Omar mi situacion me recomendo que le diera un vistazo al MVC y a su Framework, de una manera mas conciensuda y a fondo para poder sacar provecho de su trabajo, le tome la palabra, y la verdad solo ajustandome unos dias a varias nomenclaturas, y en 5 dias reprograme todo el sistema hasta terminarlo y quedando un codigo limpio y sencillo de entender y sobre todo actualizar.

Se le agradece desde aqui al buen Omar Cobos (a.k.a. Deliriumlabs) por su paciencia y tan gran aporte

Les dejo otro extracto de la Wikipedia para cerrar este post

Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.

Saludos

Dante



Personal
1 Comment
337 views

Bueno despues de muchos contratiempos y retrasos, ya esta listo el capitulo 11 de la novela Devil Inc. como siempre los invito a que visiten el sitio , lean la historia y me den sus opiniones

Devil Inc.

La direccion ya conocida es Devil Inc.

Saludos

Dante