Follow By Email

lunes, 26 de diciembre de 2011

5 Cosas que Usted necesita tener en cuenta acerca de HTML5


   HTML5 representa la quinta revisión a fondo del lenguaje principal de la Web. A diferencia de versiones anteriores, HTML5 promete una mejor integración de los multimedios y otras aplicaciones dentro del núcleo de la mayoría de las páginas Web. Si bien la adopción de HTML5 empezó lentamente, una creciente evangelización por parte de una serie de fabricantes líderes en los últimos seis meses ha estimulado la aprobación por parte de los desarrolladores en todas lados. Sin embargo, hay algunos puntos básicos que toda persona debe mantener en mente acerca de HTML5.

   Simplemente por que es nuevo no significa que sea seguro. Dado que los desarrolladores Web están construyendo por montones nuevas aplicaciones en HTML5, es necesario que tengan en cuenta la seguridad. Las páginas Web y aplicaciones creadas con HTML5 son tan vulnerables como las que se construyeron en otros lenguajes. Al construir nuevas aplicaciones, tenga en mente la forma en que está transportando información confidencial o las vulnerabilidad que crea su estructura de aplicación. La European Network and Information Security Agency (ENISA), la agencia de seguridad europea, ya ha avisado que el HTML5 podría no ser lo suficientemente seguro.



miércoles, 21 de diciembre de 2011

¿Será una Bendición tantos lenguajes de programación?

   Muchas veces hay programadores que reclaman por tantos lenguajes y tantas sintaxis que existe a la hora de programar un software. Pero personalmente creo que es una forma de quitarle la monotonía a cualquier programador tener que aprender otro lenguaje para una aplicación.Pues digamos que siempre llega un punto en la programación que cansa y aburre. Si bien es cierto cada lenguaje tiene sus ventajas y desventajas,  muchas veces no nos fijamos en eso y realizamos solo por que sabemos usar su sentencia.

   Aunque muchos de basan en C, cada lenguaje tiene su chispa y aun es más entretenido cuando podemos mezclar entre sí. Es recomendable que si tienes que hacer un proyecto y tienes tiempo de realizar y quieres dominar otro lenguaje, pues hazlo con el nuevo lenguaje y así no se te olvidará fácilmente. Pues es obvio que nunca aprenderemos todas las sintaxis de los lenguajes, pero cuando ya se sabe la base de programar es fácil aprender e incursionar por los distintos lenguajes.

 Por lo mismo les recomiendo que si tienen que realizar un sistema complejo, agreguen python, ruby, html5, css, php, etc...


 

viernes, 16 de diciembre de 2011

¿Qué aprendí hoy? Nº6 SQLserver - Servidores

   Durante el periodo de universidad y de mis estudios de informática nunca había tocado el tema de los servidores, y pues durante una ardua instalación del famoso motor SQLserver tuve que interiorizarme un poco y hacer una critica a los establecimientos por la poca base educativa de los servidores y redes. Pues todo comenzó con un proyecto de trabajo en la cual debía realizar una base de datos para la otan, pues dirante ardua pensamiento de analisis logramos diagramar el sistema pero luego debiamos trasladarlo a SQLserver!!. esas exclamaciones me costaron sangre y sudor... pero que instalación de software más engorrosa y lo peor de todo es que aun no sabia lo que era un servidor... pues luego entendi que era solo un computador mas complejo, con grandes cantidades de memoria de las cuales pueden trabajar simultaneamente con una cantidad de procesos mucho mayo a un computador personal, estos cuestan gran dinero y son utulizados en empresas para el guardado de información y traves de base de datos empresariales. Pues instalando SQLserver nos dimos cuenta la gran cantidad de opciones que no ofrece para enlazar la instalación a las redes de un servidor y bueno quisimos hacer el proceso lo más real posible e instalamos Windows server 2000 en un pc para simular un servidor empresarial, y guardar la base de datos y poder cagarla desde hay la información que necesitase.






    Aunque aun no logro entender todas las opciones .. puertos, redes, computadores, clientes, etc... gran cantidad de cosas de las cuales nunca vi en mis días de estudio. y hay mi critica... pues si una universidad está creando perfiles informáticos para que sean competentes en una empresa es indispensable saber lo que es un servidor, configurar y crear sistemas complejos, pero no... se centran en programación y en el ramo sistema operativo que enseña teorías arcaicas de los procesos.



lunes, 28 de noviembre de 2011

Python - Hello World!


   Nunca está de más aprender idiomas nuevos, aunque sean de programación. Así que he decidido aprender a programar en Python. Y algunos os preguntaréis ¿Que es Python? Pues bien, Python es un lenguaje de programación de alto nivel creado por Guido van Rossum. Es un lenguaje limpio y que favorece a la interpretación rápida del código. También hay que decir que es multiplataforma y que se necesita un intérprete para poder ejecutarlo (lenguaje interpreado).

Y que es lo que debe hacer cualquier programador cuando empieza a adentrarse en un lenguaje de programación... Un Hello World!, aunque he de decir que Python tiene una estructura similar a Java y C.


1 //Programa: HelloWorld.py
2
3
4
5  print "Hello, Python!"




Es muy sencillo, para los que acabáis de entrar en el mundo de la programación, la función print se encarga de mostrar por pantalla aquello que quieras mostrar.

Fuente : http://blog.fangosto.com/

viernes, 25 de noviembre de 2011

¿Qué aprendi hoy? Nº5 - Seguridad informática

  Hace mucho que no escribía mis pensamientos diarios de aprendizaje... pues con esa intención fue creado este blog y creo que lo anduve desvirtuando un poco (solo un poco, aunque twitter me tenia loco con el tema de los seguidores). Pues hoy aprendí muchas cosas como por ejemplo amasar masas de telepizza pero creo que no va al caso especificar con tanto detalle mi aprendizaje si no que explayaré algo más informático.

  Pues hace un tiempo empecé  con la idea de ser un webmaster y crear páginas web con sus respectivos códigos html, php, javascript, etc... y pues lo encontré muy fácil el hecho de realizarlas. pues bendito Dreanweaber, pero me surgió la duda de... y ¿Porque entonces tanto énfasis a la seguridad informática? y es que en esta ciencia todo se puede hacer y si todo se puede todo se puede ver, robar, filtrar, vender, etc.. Escuchando unas charlas del famoso  Chema Alonso, me di cuenta de la realidad de este asunto. Lo que mas me llamo la atención y es que resolvió mis dudas ... ¿Porque tantas actualizaciones en los softwares? y es que cada software tiene vulnabirilidades y es que si no actualizas el Adobe Reader puedes ser hackiado por cualquier personaje Chino que quiera revisar y revender contraseñas. ¿Como consiguen vulnerar un sistema? pues la máquina no sabe que será victima de algo (son máquinas no piensan) y ellas mismas dan las respuestas a quienes insisten en preguntar(bendito True y False y las probabilidades) y es que los programas de desencriptación son diseñados con algoritmos en las cuales mandan consultas generales de las cuales obtienen un 1 o un 0 y luego esa consulta pasa a ser un poco más específica, devolviéndose un 1 o un 0 y luego se transforma en lago más detallado hasta que obtienen la contraseña de una cuenta de algún banco. Todo es posible y es por eso tanta inseguridad en la red. Cosas inimaginables pueden ocurrir en nuestro ordenador sin darnos cuenta. y quizás para alguien normal ni siquiera le afecte, pero en realidad si le afecta indirectamente con correos ofreciéndonos un crédito en la entrada de nuestra casa.


miércoles, 23 de noviembre de 2011

Startup ! : Twisterdev Gamers Developers


 ¿ Qué es Twisterdev?

 Es una es empresa  moderna, innovadora y creativa  especializados en el diseño de soluciones web, programación,  publicidad en Internet y últimamente han dedicado gran parte de sus proyectos a la creación de videojuegos orientados a plataformas vía web y/o móviles.
 ¿Por qué hago referencia a esta empresa? pues bueno esta comenzó gracias a tres pioneros en la área de la informática: Cindy Catalán, Felipe Campos y Frank Kismann; 3 estudiantes de la carrera de Informática con un sueño en común ... escribir líneas de códigos para luego ejecutar un Software entretenido y al alcance de todos. Además nos da el ejemplo de que no porque estamos en latino-américa no podamos realizar este tipo de trabajos. Twister Dev nació en Chile con un presupuesto que alcanzaba solo para un pc y un par de taza de café y sin embargo han logrado salir adelante y emprender en un área desconocida.
  http://www.twisterdev.cl/



domingo, 20 de noviembre de 2011

¿ Microsoft o Licencias Libres ?

  Es claro la división de pensamientos entre programadores o desarrolladores de las distintas plataformas sobre todo cuando son licencias libres (GPL) o licencias copyright. El ambiente hippie brilla en charlas de software libre y los hombres de terno en conferencias techs de microsoft... y la pregunta que siempre aparece : ¿Cuál camino seguir? ¿y es que no hay más opciones? porque esa división? como si habláramos de política de elegir el bando comunista o capitalista. Aveces no tiene sentido esta división en el ámbito de la tecnología ya que lo único que hace es disminuir la velocidad de crecimiento y evolución como seres humanos, pues la tecnología ya es fundamental en todos nosotros. Es un tema extenso, pero siempre está el equilibrio en las cosas y por algo existen las cosas... los softwares open source han tenido una gran  cabida en el mundo pero nunca será el reemplazo de códigos cerrados, muchas veces es necesario esconder ciertos secretos para una mejor competencia.

  Como experiencia creo que lo mejor es ver de los dos mundo lo mejor de ello y no abanderarse en una de ellas. siempre es conocer y desarrollar en distintos ámbitos. Muchas veces se ven hombres linuxieros que critican windows, sin embargo, en algún lado remoto de sus hogares tienen escondido este último sistema operativo para jugar Battlefield  3.

  Entonces siempre vean lo bueno de las cosas y no lo malo, sobretodo en ámbitos de desarrollo. Muchas veces visual estudio te permite desarrollar aplicaciones más rápidas pero no tan a la medida como si fuese netbeans. Muchas veces es mejor navegar en Linux que en Windows ya que la seguridad microsofera le falta bastante aún. mucha veces es mejor montar un servidor con Sistema operativo GPL que un Win server. En ámbitos laborales muchas veces te piden .net que java...



¿Qué es Silverlight?

  Me ha llamado mucho la atención este sistema de programación. Encontre una información bastante interesante y quiero compartirla con ustedes. La fuente proviene de http://rdiazconcha.com/ un blog bastante instructivo en tecnologías de Microsoft.

   Silverlight es una tecnología que nos permite crear Aplicaciones Enriquecidas para Internet o RIA por sus siglas en inglés (Rich Internet Applications). Con Silverlight podemos construir aplicaciones que van desde pequeños componentes dentro de una página Web hasta sofisticadas Aplicaciones de Negocio que estén consumiendo y presentando datos de alguna base de datos, pasando por juegos casuales, reproductores de multimedios, Gadgets para Windows Vista o 7, y un largo etcétera.

   Incluso después de más de 3 años de haber sido liberada al público en general su primera versión, aún existen muchas confusiones y malinterpretaciones acerca de esta tecnología. Primeramente, tenemos que decir que Silverlight es una tecnología multi-navegador, esto es, es capaz de ejecutar adentro de los navegadores más comunes disponibles hoy en día: Internet Explorer, FireFox, Chrome y Safari.

   Por otro lado, Silverlight es una tecnología Multi-Plataforma, esto es, es capaz de ejecutar en los principales Sistemas Operativos disponibles hoy en día: Windows, Mac OSX y Linux (a través de Moonlight, proyecto que es llevado a cabo por la empresa Novell y que es la implementación de Silverlight para ese Sistema Operativo).

   Silverlight, a diferencia de otras tecnologías Web del lado del Servidor (por ejemplo: ASP.NET, PHP, etc.), es una tecnología del lado del Cliente, es decir, todo el cómputo y ejecución de las aplicaciones sucede en el equipo del usuario, tal y como si se tratase de cualquier tipo de aplicación instalada. Esto es una gran ventaja ya que Silverlight puede sacar provecho de las características de procesamiento del hardware en donde está instalado.


jueves, 17 de noviembre de 2011

Funciones, Librerias, Apis, SDKs, motores gráficos ...

Para realizar un video-juego es importante saber el uso de librerias y funciones. partir siempre desde una base como dice el dicho para que inventar denuevo la rueda si ya lo está y nos sirve para soportar algo nuevo. Existen variadas formas de programar un videojuego, existen librerias dedicadas a ello. un ejemplo de esta es la librería Allegro para C++, esta es un poco compleja pero bastante interesante al momento de programar desde lo mas básico.otras libreria bastante interesante es 2dBox , esta simula la naturaleza y la fisica de los cuerpos. pues las librerías son un conjunto de c´digos bastante amigables aunque si quieres algo mas en concreto pues estan las SDK estas son un kit de desarrollo de una cierta aplicación, es generalmente un conjunto de herramientas de desarrollo que le permite a un programador crear aplicaciones para un sistema concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, computadoras, videojuegos, sistemas operativos, etc.



Es algo tan sencillo como una interfaz de programación de aplicaciones o API (del inglés application programing interface) creada para permitir el uso de cierto lenguaje de programación, o puede, también, incluir hardware sofisticado para comunicarse con un determinado sistema embebido. Las herramientas más comunes incluyen soporte para la detección de errores de programación como un entorno de desarrollo integrado o IDE (del inglés Integrated Development Environment) y otras utilidades. Los SDK frecuentemente incluyen, también, códigos de ejemplo y notas técnicas de soporte u otra documentación de soporte para ayudar a clarificar ciertos puntos del material de referencia primario.
Otra herramienta aun mas prediseñada es el motor gráfico estan nos provee de una inmensidad de opciones al momento de querer "diseñar" un juego . La funcionalidad básica de un motor es proveer al videojuego de un motor de renderizado para los gráficos 2D y 3D, motor físico o detector de colisiones, sonidos, scripting, animación, inteligencia artificial, redes, streaming, administración de memoria y un escenario gráfico. El proceso de desarrollo de un videojuego puede variar notablemente por reusar o adaptar un mismo motor de videojuego para crear diferentes juego. Unity es un motor gráfico gratuito y bastante amigable para crear un juego 3d .

martes, 15 de noviembre de 2011

Un Ejemplo a seguir ! Angry birds

¿Como un juego tan básico ha llegado a ser el juego mas jugado de los últimos tiempos? 
Será que la simplicidad es lo que esta de moda, pues claramente Angry Birds es un modelo a seguir. La empresa desarolladora Rovio nunca pensó en el éxito que esta traería . Gerentes, Ejecutivos, Estudiantes, niños, Padres, etc. Un juego dedicado para todas las personas (importante hoy en día)









Su jugabilidad se basa en la gravedad y la física, de hecho ni tan novedoso puede ser, Worms tiene una plataforma bastante parecida. Al momento de idear un juego no pienses en crear algo novedoso o nuevo, es bueno basarse en otro ejemplo para tener una idea mas clara. Piensa bien que gráficos usar, que tipo de juego será y su simplicidad ante todo. si piensas en crear un juego tipo Battefield 3 terminarás frustrandote, ya que para la creación de estas se necesita un equipo de trabajo gigantesco, con miles de programadores agregando miles de If y condiciones .




lunes, 14 de noviembre de 2011

No aburrirse al programar !

   Variadas veces pasa que al momento de querer crear una aplicación para que resuelva un determinado problema, resulte tedioso hasta el punto de seleccionar todo el código y suprimirlo. Pues este artículo hablará de 8 tips o concejos que te ayudarán a conseguir tus objetivos como programador y no morir en el intento.

1.- Piensa tu problema : es importante tener ya la solución del problema antes de empezar a codificar. Muchas veces esas soluciones queda guardadas en la mente pero ojo ... la mente del programador es volátil. Así que siempre ten en cuenta tener un cuaderno con los garabatos de tu solución, aunque sean garabatos feos e inentendibles pues lo importante es que tu te entiendas.

2.- Realizar un diagrama de UML o un diagrama de clases: muchas veces resulta un trabajo bastante extra el realizar estos diagramas, pero sirven bastante aunque en las asignaturas se vea lo contrario... un buen gráfico con todas tus clases a usar sirve bastante, para que al momento de programar tus códigos fluyan de una forma inimaginable  .

3.- Proponerse otros lenguajes: pues esto quizás suene un poco extraño, pues el artículo consta de no aburrirse al programar y bueno buscar otros lenguajes es bastante aconsejable. Es como cuando iba al colegio y cambiaba la ruta del camino para evitar monotonía. Con los lenguajes suele pasar eso y pues también te ayuda muchísimo para conocer otras alternativas. Pero obviamente debes interiorizarte un poco con el lenguaje ya que también es bastante frustrante que las sentencias no te funcionen.

4.- Compartir el código con tu mejor amigo: es bueno que alguien te escuche lo que quieras expresar en una linea de código exceptuando la máquina claro... 

5.- Tener un café bien cargado y un asiento acogedor : es bastante obvio pero muchas veces no somos capaces de tener comodidad al momento de trabajar, siempre es culpa del asiento y pues un programador lleva 12 horas sentado en el día y claramente el trasero queda agotado.


Páginas dinámicas y PHP !


  Una página dinámica implica la interacción entre el usuario y un script desarrollado en un lenguaje que permita el dinamismo, es decir, que permita la interacción entre el usuario y un Servidor Web y un Servidor de Base de Datos (en caso de existir uno). Es decir, que el usuario haga una petición al servidor Web, éste se comunica con el servidor de base de datos, extrae la información de la base de datos y presenta la información en la pantalla del usuario.

  Un ejemplo bastante claro, es la forma en la que nos inscribimos en algún servicio de correo electrónico, en el que proporcionamos nuestro nombre, apellido, un nombre para el correo de la forma minombre@miproveedor.com y una palabra clave. Cuando, por ejemplo, al día siguiente, vamos a ver nuestros correos electrónicos, basta con escribir nuestro nombre de usuario y palabra de acceso para que accesemos a nuestra cuenta. Todo lo anterior, es gracias a una página dinámica, que solicita los datos al servidor Web que a su vez, extra los datos de nuestra cuenta del Servidor de Base de Datos.




                                                  LO QUE PODEMOS HACER CON PHP

  Lo que se puede hacer con PHP es básicamente cualquier cosa que se pueda hacer con un script CGI, es decir, trabajo con formularios, como su procesamiento y manejo dinámico; generar páginas con contenido dinámico (de nuevo, el contenido dinámico es el que le permite a la página la interacción con el usuario); mandar o recibir cookies, etc.

  Una característica de PHP, es la capacidad de trabajar con una gran cantidad de bases de datos, lo cual lo hace un programa verdaderamente potente, siendo que, por ejemplo, si lo "juntamos" con MySQL (un Gestor de Bases de Datos con licencia GNU), nuestros recursos salen literalmente "GRATIS"

Fuente www.aulafacil.com/php

jueves, 10 de noviembre de 2011

Diferentes opciones a la hora de programar juegos

Cuando se inicia en este rubro de la programación de juegos, es complicado saber cuál es el camino correcto para desarrollar, que lenguaje usar, que framework que Api manejar ... etc. Sin duda existen muchas opciones pero cada una tiene un fin específico.
   Primero que todo debes ya tener definido tu juego y luego pensar cuantos recursos va a usar y ha que plataformas irá dirigido. Este artículo dará a conocer ciertas pistas para ver cuál es la mejor opción al momento de crear un Game.



   -Iniciadores del mundo de los videojuegos

Existe un programa llamado Game-Marker que permite crear juegos de manera bastante entretenida y didáctica, comienzas a entender ciertos conceptos básicos que tienes que tener en cuenta al momento de crear un juego. Sin embargo este programa esta ya muy estructurado y te delimita a hacer ciertas cosas. Si no tienes conocimientos en programación recomiendo inicializarte en GM pero no que te dediques a él .

   - Juegos 3d o 2d con recursos elevados.

Claramente hacer juegos 3d es el sueño para muchos, sin embargo el esfuerzo que este conyeva nos termina frustrando. Pero hoy en día existen herramientas bastante interactivas para un desarrollador. Unity un motor gráfico que te permite hacer lo que se te antoje sin tener que profuncizar mucho en la programación u Ogre otro motor freeware. Sin embargo si quiere empesar más de 0 recomiendo XNA game developer, es un framework basado en la Api Directx . el unico problema de este metodo de desarrollo es que es poco portable ,ya que solamente puede ser ejecutado en plataformas Windows.

Engines, Librerías para crear Juegos en Android

Android claramente es un medio para poder desarrollar juegos y poder distribuirlos fácilmente a tráves de Web Stores de Google. Ademas existe gran material para fácilitar la programación como tambien información y tutoriales de esta. Este artículo dará a conocer ciertas herramientas para poder comenzar un proyecto para Android. Si yá haz hecho aplicaciones en este Sistema operativo no te costará entender el proceso de creación . pero si no sabes nada pues lo primero que tienes que hacer es bajar el SDK de Android (el Kit de desarollo), luego configurar tu IDE  (entorno de programación) para crear tu aplicaciones. Es recomendable usar como IDE "Eclipse" ya que muchos tutoriales de basan en él pero también tienes otras alternativas como NetBeans.

Como dije anteriormente existe demasiadas herramientas para el desarrollo de juegos en Android. A continuación mostraré algunos links de Engines. Todos estos tienen un enfoque 2D la mayoria trabaja con Java nativamente, pero otros tienen soporte hasta para Phyton.