Follow By Email

Mostrando entradas con la etiqueta Informática. Mostrar todas las entradas
Mostrando entradas con la etiqueta Informática. Mostrar todas las entradas

domingo, 13 de mayo de 2012

Isaac Asimov de la ciencia ficción a la realidad ... Los Robots

   Hace unas semanas abrió una librería cerca de mi casa, pase a ver que cosas y curiosidades podían ofrecer. Husmeando encontré un libro que me llamó mucho la atención, pues en la caratula aparecía una ciudad de esas tipo star wars. El libro se llamaba Fundación de Isaac Asimov. Un gran libro con una saga que te llena de ideas y conclusiones y bueno autor es un pionero (parecido a Julio Verne pero del siglo XX) habla de los robots y de su inteligencia artificial como algo venidero. De hecho el es también el escritor de Yo, robot.

   Investigando sobre mi nuevo admirador encontré una entrevista donde habla del aprendizaje del futuro, explicando que en cada hogar habrán bibliotecas cibernéticas para cada persona y es lo que hoy conocemos como el Internet. La saga fundación me ha ayudado en mis ramos de Sistemas de información donde explica  que todos los sistemas tienen un punto de destrucción (nada es perfecto) pero gracias a estadísticas y probabilidades se pueden prevenir desastres.

   Recomiendo 100% a este autor a quienes estudian informática o algún ramo referente a la tecnología y que además buscan ficción en los libros. Es motivador y entretenido saber que existieron personas que a partir de ideas, crearon los comienzos de nuevas ciencias como lo es la Robótica.







domingo, 22 de abril de 2012

Microsoft la macabra compañia de Sotfware

   En mis años como estudiante de Informática y como desarrollador de aplicaciones, me había puesto a pensar sobre la gran conocida Microsoft. He participado en muchas comunidades de softwares libre, llendo a charlas y reuniones. Pero nunca encontré una razón clara de para que mostrar el código y hacer un mundo mejor. Siempre es bueno guardar la receta y así prevalecer al creador, como coca cola company y su receta secreta de la bebida mágica color café. Tampoco entendía el por que el odio   a la compañia del sistema operativo Windows y criticarlo hasta un punto de decir que es la aplicación que ha hecho a la humanidad una desvolución.

  ¿Microsoft es malvado? ¿Por que? ¿Por no mostrar su código de un gran sistema? ... Siempre pensé que esa era la razón de que microsoft era odiado por estas comunidades. Y por lo tanto nunca le tomé importancia a este tema.  

   Pero hoy cambió ese pensamiento en mí y pude comprender el daño que ha hecho esta empresa a la humanidad. Puede sonar una muy fuerte oración, pero es así. Las razones son claras y existen pruebas y hecho de ello. Windows de hiso de el sistema operativo más usado en el planeta (de ello no hay nada malo), sus acciones crecieron y la empresa pasó a ser la mayor compañía con mayores ingresos del mundo ( en ello tampoco hay nada malo). Todo esto tiene una relación a los sistemas políticos y económicos. Comunistas , Capitalistas, sistemas de libre mercado. Un sistema de libre mercado de un comienzo fue maravilloso, el humano era libre, podía vender, comprar, consumir como quisiese. Pero muchas empresas crecieron y tomaron el control hasta tal punto de destruir su competencia y hacer lo que quisisen con productos esenciales para subsistir. Microsoft hizo algo parecido con su competencia. Tenían tanto dinero, que quisieron tomar el control de la ciencia de la Informática. ¿ Es tanto así ? pues sí, microsoft tenía ya un gran control de la computación con su sistema operativo, pero quería englobar aun más. Aplicación que aparecía esta la copiaba y destruía a su creador. Claros ejemplos son como lo que le pasó a Borland (la aplicación de desarrollo de aplicaciones), WordStar ( la aplicación de oficina para escribir cartas) o NetScape Navigator (la gran aplicación que hiso cambiar el mundo y el internet con su exploraror web). Aplicaciones que fueron creadas por grandes pensadores y que fueron copiadas por este mounstro y gracias a su gran capital, invirtir la forma de obtener la aplicación y distribuirla, amenzando a todas las démas compañias en que si distribuyen algo que no sea de microsoft se le cancelan las licencias para el sistema operativo (otro monopolio).




   Y es así como Microsoft Office, Internet Explorer, ASP, Age of Empires, Han sido grandes copias y softwares destructivos del pensamiento de algún inventor.
  
    NetScape fue el comienzo de una lucha antimonopólica ante Microsoft, El navegador fue copiado y fue amenzado, tal punto que I Explorer un horror de aplicación fue integrada libremente al sistema operativo windows dejando sin competidor alguno durante una decada. Pero todo sistema tiene un fin. La humanidad se ha dado cuenta de poder que tuvo microsoft y ha intervenido para que no siga ocurriendo. Nosotros como desarrolladores no debemos que siga pasando eso. No dejarnos pasar a llevar contra las grandes empresas que harán lo posible por tomar nuestra idea y dejarlas crecer aun más. No todo es microsoft y cada vez se irá notando.





martes, 17 de abril de 2012

Un ERP : Software de planificación de recursos


   Muchas veces no le damos mucho énfasis como estudiante a esta palabra ERP. Sin embargo, su significado tiene gran relevancia para nuestro futuro como programadores o ingenieros en informática. Un ERP es un software para empresas, donde globaliza gran parte de los procesos que está conlleva.  Ejemplo, un ERP para empresa de distribución de productos, donde tiene módulos de clientes, venta, despacho, facturación, inventario, contabilidad, estadística, etc…  Este software tiene que adaptarse a los cambios de la empresa. Muchas veces estas aplicaciones son desarrolladas por grandes consultoras, con un sistema generalizado. Pero también muchas veces las empresas necesitan necesidades específicas para sus diferentes áreas. El desarrollo de estas aplicaciones a la medida son muy costosas y requieren de mucho tiempo para lograr el objetivo.

  Un ERP hecho a la medida tiene una gran cantidad de fallas y estas son solucionadas a medida que la aplicación es usada.
  Esta aplicación generalmente es multiusuario ya que requiere de muchas personas de diferentes áreas el uso de datos, tiene una base de datos  centralizada y generalmente es instalada en un servidor local para una conexión local en la empresa. 






viernes, 13 de abril de 2012

Protocolos de aplicación y su ejecución en los servidores

   En mis tiempos de juventud estudiantil, era un simple usuario de internet. Navegaba como todas las personas lo hacen. Y como usuario final, nunca me importó como se producía cada proceso para visualizar un documento HTML.  Y es que somos muy cómodos para entender dicha complejidad.  Si a veces nos preguntamos cómo se hizo la coca-cola o como se realiza un determinado producto o como se realiza un servicio. Como Ingeniero ya no podemos darnos el lujo de usar algo y no saber cuáles fueron sus procesos para su creación, sobre todo cuando es algo relacionado con la computación, redes o informática.

     La internet es maravillosa y siempre es bueno darse un tiempo para entender sus complejidades.  Hoy hablaré un poco sobre la capa de aplicación del modelo OSI. La capa de aplicación tiene una gran cantidad de protocolos que se deben utilizar de forma estricta para desarrollar algún software o documento y poder transmitirlo a las redes y que sea recibido de forma correcta por el receptor. Para poder visualizar una página web, estas por lo general están alojadas en algún servidor, debes direccionarte mediante su dirección IP, pero para evitar escribir el numero IP , estas direcciones están alojadas en un servidor DNS que tiene por función guardar la direcciones y asignarle un nombre de dominio. Para acceder a una página web, solo tienes que escribir un nombre (ejemplo www.arraysblog.blogspot.com) y te conectarás al servidor DNS y este direccionará su ip correspondiente y podrás conectarte a servidor que está alojado dicha página. Pero para que el servidor pueda mostrar su web, este debe tener instalado el servicio de protocolo HTTP.

    HTTP es  otro protocolo de la capa de aplicación de la cual permite el intercambio de información de un cliente /servidor.  Pues es muy fácil poder aplicar todos estos protocolos y poder hacer una web y poder alojarla en un computador personal (como servidor). Solo que también hay que tener en cuenta la seguridad que se requiere para evitar ataques externos.



sábado, 7 de abril de 2012

Nuestro nuevo juego realizado en ActionScript 3 : 2012 The Game

   Pues como programador apasionado, nunca está demás dedicarse a algún hobbie y nunca es malo dedicarle a uno en el cual puedes aprender aun más sobre programación. Siempre he querido programar video-juegos, es como un sueño que ahora puedo hacer realidad gracias a los conocimientos adquiridos.De hecho el desarrollar videojuegos aumenta la capacidad de analizar problemas y codificarlos en sus respectivas funciones, me ha servido mucho en la Universidad al momento realizar una prueba de Java o . net.  Es por eso que ya hemos lanzado otro juego llamado 2012 : The end of the world. un juego en el cual debes destruir a los invasores antes de que lleguen a nuestro planeta. Está creado en un ambiente de 8 bits un ambiente histórico donde traen muchos recuerdos de niñez. CrogoGames es la organización que he creado con mi hermano (también informático) y aun estamos con la idea de seguir desarrollando juegos, solo que ahora tenemos la agenda un poco apretada, pero ya vendrán tiempo libres donde programaremos y haremos grandes juegos.



   Aquí esta el juego, que lo difrutes !:


Informático = solucionador de problemas

   Desde pequeño me gustaron las matemáticas, nunca fui fanático pero si me llamaban la atención el tener que resolver, a través de los pasos enseñados por el profesor, un problema "x". Siempre era uno de los más rápidos para entender el problema y solucionarlo de la forma más práctica posible.
   Cuando entre a la Universidad y tuve mi primera clase de programación, se produjo un brillo en mis ojos pues no vimos códigos, ni computadores ... nos enseñaron quien fue Polya y sus metodologías para la solución de problemáticas en cualquier  ámbito de la vida.

1.- Entender el problema
2.- Configurar un plan
3.- Ejecutar el plan
4.- Mirar hacia atras

   Pueden verse muy fáciles y comunes, pero muchas personas no tienen ese pensamiento adquirido. Como informático me di cuenta que solo ciertas personas adquieren está habilidad. Ya que es una carrera que requiere analizar problemas de la forma más práctica para que pueda entender el computador y la más simple para que no ocupe grandes recursos.

   En mis primeros años de trabajo como "informático" y lo coloco en comillas porque fue un trabajo en donde no programaba, ni creaba sistemas. Era un trabajo donde estaba en una oficina cuidando del servidor de la empresa y estaba atento a los problemas que suscitaban en los usuarios. problemas bastante simples como por ejemplo quedase pegado el PC por abrir Outlook. De primera yo no conocía dicha aplicación, pero de alguna forma mi pensamiento informático me ayudo a resolver esos problemas sin ni siquiera conocerlos(siendo tan facil como compactar el pst y crear uno nuevo).



   Es por eso que si quieres ser un informático, no pienses que es estar en un computador. Ser informático requiere ser una persona muy analítica. Pues la Informática aun es una ciencia en pañales donde existen miles y miles de errores por ser resolvidos, el crear sistemas, el imaginar lo lógico para ser reemplazado por algo físico, el automatizar algún proceso no tiene nombre y es maravilloso poder ser parte de esta gran ciencia.

sábado, 24 de marzo de 2012

Hackers en contra del ciberterrorismo

   Hacker da a entender muchos significados que mayoritariamente han de tener cabida a algo malo. Y pues puede ser, ya que muchos tratan defender (sobre todo el mismo hacker) algo indefendible. Entrar a tu sistema y obtener información. es como si un ladrón tratara de entrar a tu casa y evade todos los sistemas de seguridad (cadenas, candados, puertas, etc) y abriera tu caja fuerte y se lleva el motin.

   Sin embargo son un mal necesario. Muchas empresas trabajan con tus datos (dinero, cuentas bancarias, información personal) y no tienen la seguridad necesaria para resguardar algo tan valioso. y es hay donde los ciberterroristas juegan un papel de maldad. Un hacker o un informático dedicado a la seguridad debe estar al tanto de todas las herramientas posibles para vulnerar algún sistema para así evitar ataques.

  Les dejo un vídeo que muestra una de las reuniones mas famosas de hackers "DEFCOM" , donde participan los hackers más grandes del mundo, donde crean concursos de resguardo de dispositivos, donde el FBI se infiltra y recluta personal.




El futuro del Software ... ! Cloud Computing

  Ya no es una novedad saber que muchas aplicaciones que alguna vez fueron de escritorio ahora son aplicaciones web. Un ejemplo claro es la Suit de Office, que ahora la tenemos en la web. Pues esto ha sido un gran avance y un camino a seguir. pues claramente tiene grandes beneficios como lo es la portabilidad y la usabilidad de las aplicaciones.

   Pues también esto ha tenido grandes repercusiones a nivel de las empresas y muchas han tomando la decisión de trasladar sus softwares de escritorio a la nube. ¿Razones? Pues una mayor respuesta a los fallos, menos caídas de sistemas, más usuario utilizando un recurso compartido. En mi empresa ya se esta viendo esto y me alegra mucho, pues trasladaremos todo un programa de administración a códigos html, php, js, css etc. Creo que ya no tendré que hacer actualizaciones de software cada vez que no imprime alguna factura defectuosa... pues el futuro esta todo en la nube, los discos duros en el escritorio ya no existirán por la razón de que son demasiados inseguros al momento de mantener los datos. en cambio tener los documentos en la nube (con todas sus seguridades) estas se respaldan automáticamente se host en host, teniendo la certeza de que si se quema algún servidor el archivo estará en otro servidor resguardado.




viernes, 23 de marzo de 2012

Un poco de Redes y comunicación de datos

   Hace una semana que soy empleado de una empresa, de la cual mi labor como informático es algo completamente nueva para mi... Administrar redes dentro de una oficina y empresa en general. Pues no ha sido fácil tener que enfrentar problemas que nunca habían suscitado en mi diario vivir. Y pues por ese motivo comencé a estudiar redes y a entender el mundo de Internet.

   Pues todo comienza con un estándar de conexión, pues si no existiera dicho estándar una máquina no podría entender el lenguaje de comunicación de la otra. y como hablamos de miles de emisores hacia miles de receptores entonces tenemos que hablar dentro de un mismo idioma (protocolo). Pues el modelo OSI es el que nos permite estandarizar las redes y hacer un "fácil" intercambio de datos,(he colocado fácil en comillas solo porque es fácil para un usuario final )..
  Este modelo de divide en 7 partes y cada una de ellas explica el proceso en que un dato es enviado y es recibido por algún dispositivo.

1.- Física : En ella se encuentran los cables(ethernet, fibra óptica) , los conectores, los voltajes, velocidades de transmisión, señales, etc..

2.- Enlace de Datos : Esta capa es la que provee dar una transferencia confiable. En ella es configurada la ip a la cual será dirigido el documento (direccionamiento lógico).

3.- Red : La red puede tomar una decisión precisa de la mejor ruta a tomar para transferir archivos, selección de rutas.

4.- Transporte : conexiones de extremo a extremo, detección de fallas y establecer circuitos virtuales.

5.- Sesión : comunicación entre host (dispositivos finales).

6.- Presentación : garantizar que los datos recibidos sean legibles y reestructurados.

7.- Aplicación: representa el dato recibido como también el dato enviado.

  Básicamente el dato pasa por todas estas capas, sin embargo el dato debe ser dividido en sub-partes para ser enviado, ya que un archivo puede ser demasiado grande para caber en el ancho de banda o puede acarrear problemas de envío. Al ser dividido se enumeran y se les agrega un encabezado y el conjunto de este se le llama paquete. Pues el encabezado trae una serie de información de como debe ser enviado dicho dato, y como estarán divididos. Todo esto está regido bajo el protocolo TCP/IP.




miércoles, 29 de febrero de 2012

Configurar servidores y administrar sitios

  Hace mucho que no escribo y es por la razón de las vacaciones de verano, pues ya empezó marzo, un mes de alta empleabilidad y de competencias, y es por eso que uno tiene que ponerse en forma con los conocimientos informáticos que se requieren para este mundo.

  Pues han surgido proyectos de los cuales para mi han sido de gran ayuda y he tenido el agrado de estudiar ciertas áreas de la informática que desconocía, aclarando cosas que para mí eran imposibles de entender. Se me propuso configurar un servidor que alojará un sitio y ademas cierta información privilegiada de la empresa de la cual presto servicios. Primero que todo no sabia como empezar, pues me pasaron un servidor físico con Ubuntu server ... alojar la web? donde alojo las bases de datos ? que seguridad les implanto? que pasa si el servidor falla? contrato un vps (servidor virtual en caso de emergencia) ?.

  Instalé Cpanel ( un panel de control para administrar servidores) pues es un programa bastante intuitivo y capaz de hacer todo lo que se necesite para administrar un servidor. pero luego supe que es de pago y que para ubuntu no hay soporte, así que indague más por comandos linux y logre entender la lógica de la terminal. Primero que todo crear los host como usuarios linux y luego alojar su web, luego instalar la base de datos y hacer un repaldo diario automatizado con el código Cron pero antes debe estar  comprimida en un archivo tar. pues ovbiamente velar la seguridad del servidor he instalar ciertos firewalls para linux y control de tráfico. entonces ese pensamiento de algo imposible de hacer se vuelve en un pensamiento "Hooo ahora todo calza como un rompecabezas en la informática".  Ubuntu server ? porque no windows servers? Pues claramente las mayores brechas de seguridad informática son en los sistemas windows, ademas de cobrar por soporte altamente excesivos. Red Hat enterprise o CentOS son los mejores sistemas operativos para servidores, con altos softwares de administración y el soporte que ofrecen es mas accesible. Configurar Cron ! y hacer scripts para automatizar backups de servidor a otro servidor VPN. Pero luego surgen otros problemas como Hackers y es hay donde uno tiene que enfatizar con gran cuidado los permisos de administración en Linux. Mantención ! me gusta esa palabra ya que es la que te aferra al cliente y mantienes ingresos por largo tiempo.  




martes, 14 de febrero de 2012

PirataSlice Nuestro primer videojuego !



  Un pequeño grupo de desarrolladores que dedica su tiempo a la creación de video juegos, cuyo propósito es crear juegos adictivos en formato Flash. Recién estamos comenzando y queremos crecer en este ámbito ya que nos apasiona enormemente. Tenemos un proyecto terminado "PirataSlice" y para nosotros seria un placer que ustedes puedan jugar !. Cualquier comentario, opinión y/o critica es bien recibida por nosotros. Aun estamos en formato beta y necesitamos saber cual es el camino a tomar.

PirataSlice

  El juego consiste en que el jugador debe tocar con el mouse las bolas de cañon para que el pirata(Personaje Principal) pueda destrozarlos sin que caigan, ya que si caen el nivel del mar aumenta hasta llegar a un tope
donde el jugador pierde. También tiene comodines como el reloj cuya función es provocar lentitud en los disparos de los cañones. Consta de 4 niveles de dificultad donde el puntaje es el principal objetivo.

http://games.mochiads.com/c/g/pirataslice_v675424/PirataSlice.swf





miércoles, 25 de enero de 2012

Seguridad para la web - Tips de ayuda !


   Hoy ocurrió una pequeña brecha de seguridad en al empresa a la cual le estoy prestando servicios de consultoría, y después de verificar y reforzar algunas cosas decidí compartir y debatir algunas buenas practicas de seguridad al momento de realizar desarrollos Web.

- Si vas a entregar permisos de escritura o ejecución procura habilitar solo una carpeta de tu servidor para tener mayor control sobre estos archivos. Además limita y valida los tipos y tamaños de archivos con funciones como getimagesize o fileinfo.

- Para los datos delicados siempre fabrica un archivo properties que contenga encriptación de datos

- Entrega los permisos básicos (mínimos) para el usuario de la BD

- Si usas algún CMS cambia los prefijos de las tablas. Los sistemas de gestión de contenido instalan tablas por defecto y al conocer los nombres de estas soy muy vulnerables a ataques de inyección SQL.

- Siempre valida los datos importantes en el servidor. Aun que también realicemos validaciones en el cliente.

- Protege las carpetas que contengan archivos delicados con la combinación htaccess y htpasswd (eso si, asegurare de dejar el archivo htpasswd fuera de la raíz del sitio). A proposito un muy buen tuto de cristalab que muestra la utilización de esta tecnica de encabezados: http://www.cristalab.com/tutoriales/proteger-carpetas-con-.htaccess-y-.htpasswd-c213l/ .

- Si usas plugins, librerías, frameworks, estándares, aplicaciones, etc. procura no manipular los archivos base para extender la funcionalidad de tu aplicación. Recuerda que siempre es necesario actualizar y muchas de las actualizaciones se deben a motivos de seguridad.

- No confíes en los datos que los usuarios envían. Trata siempre cualquier información que provenga desde fuera como un posible dato malicioso.

- Utiliza los nuevos estándares Web. Hay muchos tags y practicas Web que no son las correctas, es por eso que muchos navegadores están lentamente quitando soporte a algunas practicas e incorporando otras.

- Si el sitio contiene mucha información delicada utiliza el protocolo https y permite el acceso a este solo con ssh keys. Si quieres ingresar al sitio o a sus archivos utiliza algún cliente SSH y SFTP.

- Cuando desarrolles intranets intenta que estas en realidad funcionen a nivel interno de la corporación. Si existe alguna excepción utiliza VPN, o aún mejor utiliza Open VPN

- Y aun que suene obvio utiliza sistemas de captcha, quita los meta y utiliza contraseñas con seguridad fuerte.

Se que hay muchas mas buenas practicas de seguridad, pero me aburrí de redactar XD, así que si tienen algún dato rosa no duden en compartirlo.

PDTA: Algunos de los tips que entrego funcionan solo sobre PHP, pero cualquier lenguaje servidor tiene sus propias implementaciones.


Fuente: Felipe Campos Clarke - Ingeniero en Informática y Analista en Sistemas

miércoles, 18 de enero de 2012

Programación ágil - Metodos TDD, El libro - Prologo


   Erase una vez que se era, un lejano país donde vivían dos cerditos, Pablo y Adrián que, además, eran hermanos. Ambos eran los cerditos más listos de la granja y, por eso, el gallo Iván (el gerente de la misma) organizó una reunión en el establo, donde les encargó desarrollar un programa de ordenador para controlar el almacén de piensos. Les explicó qué quería saber en todo momento: cuántos sacos de grano había y quién metía y sacaba sacos de grano del almacén. Para ello sólo tenían un mes pero les advirtió que, en una semana, quería ya ver algo funcionando. Al final de esa primera semana, eliminaría a uno de los dos.

   Adrián, que era el más joven e impulsivo, inmediatamente se puso manos a la obra. "¡No hay tiempo que perder!", decía. Y empezó rápidamente a escribir líneas y líneas de código. Algunas eran de un reciente programa que había ayudado a escribir para la guardería de la vaca Paca. Adrián pensó que no eran muy diferentes un almacén de grano y una guardería. En el primero se guardan sacos y en el segundo, pequeños animalitos. De acuerdo, tenía que retocar algunas cosillas para que aquello le sirviera pero bueno, esto del software va de reutilizar lo que ya funciona, ¿no?.

   Pablo, sin embargo, antes de escribir una sola línea de código comenzó acordando con Iván dos cosas: qué era exactamente lo que podría ver dentro de una semana y cómo sabría que, efectivamente, estaba terminada cada cosa. Iván quería conocer, tan rápido como fuera posible, cuántos sacos de grano había en cada parte del almacén porque sospechaba que, en algunas partes del mismo, se estaban acumulando sacos sin control y se estaban estropeando. Como los sacos entraban y salían constantemente, no podía saber cuántos había y dónde estaban en cada instante, así que acordaron ir contabilizándolos por zonas y apuntando a qué parte iba o de qué parte venía, cada vez que entrara o saliera un saco. Así, en poco tiempo podrían tener una idea clara del uso que se estaba dando a las distintas zonas del almacén.

   Mientras Adrián adelantaba a Pablo escribiendo muchas líneas de código, Pablo escribía primero las pruebas automatizadas. A Adrián eso le parecía una pérdida de tiempo. ¡Sólo tenían una semana para convencer a Iván!
Al final de la primera semana, la demo de Adrián fue espectacular, tenía un control de usuarios muy completo, hizo la demostración desde un móvil y enseñó, además, las posibilidades de un generador de informes muy potente que había desarrollado para otra granja anteriormente. Durante la demostración hubo dos o tres problemillas y tuvo que arrancar de nuevo el programa pero, salvo eso, todo fue genial. La demostración de Pablo fue mucho más modesta, pero cumplió con las expectativas de Iván y el programa no falló en ningún momento. Claro,todo lo que enseñó lo había probado muchísimas veces antes gracias a que había automatizado las pruebas. Pablo hacía TDD, es decir, nunca escribía una línea de código sin antes tener una prueba que le indicara un error. Adrián no podía creer que Pablo hubiera gastado más de la mitad de su tiempo en aquellas pruebas que no hacían más que retrasarle a la hora de escribir las funcionalidades que había pedido Iván. El programa de Adrián tenía muchos botones y muchísimas opciones, probablemente muchas más de las que jamás serían necesarias para lo que había pedido Iván, pero tenía un aspecto "muy profesional".


martes, 17 de enero de 2012

¿Qué es un Cache y cómo funciona? - Eliax.com

   ¿Cuántas veces no han leído especificaciones en un CPU, una memoria, disco duro, o incluso en terminología en navegadores y aplicaciones web, en donde se refieren a un "Cache"?

   Cache es uno de esos términos que para el usuario técnico es una simpleza, pero para la persona común no familiarizada con el término es lo mismo que decir palabras mágicas en una película de Harry Potter. Cosas como que un disco duro tiene 16MB de cache, o que un CPU tiene 2MB de cache es algo que la mayoría de los consumidores no entiende, y por lo general simplemente siguen la regla que mientras mas grande es el cache mejor debe ser lo que uno está comprando (y esa regla en este caso es por lo general una buena regla a seguir, aunque no siempre como veremos).
   Así que veamos qué es este concepto en términos sencillos y fáciles de entender...

   Imagínate que trabajas en una central telefónica de un pequeño pueblo, en donde muchas personas llaman para preguntarte el número telefónico de algunos negocios (restaurantes, cines, tiendas de ropa, bancos, etc), y que lo único que tienes disponible para contestar es una de esas tradicionales guías telefónicas (un libro bastante pesado y de gran espesor).
   Una cosa que notarás en tu empleo, al cabo de poco tiempo, es que las personas tienden a preguntar con bastante frecuencia sobre un grupo en particular de negocios populares, por lo que para hacer tu trabajo mas eficiente, lo que empiezas a hacer es a copiar el número telefónico de esos negocios populares en un cuaderno aparte, organizados alfabéticamente.
   Ese cuaderno tiene quizás solo 4 o 5 páginas (versus las cientos de página de la guía original), pero sientes confianza en que en alrededor del 50% de los casos cada vez que te llaman esos números los puedes encontrar en esta pequeña guía, en donde puedes encontrar los números mas rápidamente.
Pues felicidades porque acabas de crear un cache.

martes, 3 de enero de 2012

Desarrollo Web y su gran gamma de opciones ...

   Desde hace muy un tiempo me he estado integrando en el ámbito de desarrollo web, un área fundamental para cualquier desarrollador. Pues me dí cuenta de la gran cantidad de posibilidades que existen a la hora de programar o diseñar un sitio web. Pues Internet y su estructura cambia de una manera exponencial y estar al tanto de las nuevas tecnologías es crucial, pues si te quedas atrás verás como los demás te quitan el espacio que sembraste.

  Comencé por saber HTML, un lenguaje estándar de la cual es la base para cualquier sitio web visualizado por algún navegador. Sin embargo HTML por si solo es demasiado básico para las demandas que tiene un usuario común, y de hay comienza la gamma de lenguajes que ofrecen ser parte de una "extensión de HTML", que actúan en servidores como también otros que actúan en navegadores...  pues existen muchas opciones ( gratuitas, gpl, para algunos servidores, para algunos navegadores, para sistemas operativos específicos, etc...). Me llamo mucho la atención PHP, un lenguaje que nos ofrece crear dinamismo en las páginas como también ASP.net que nos ofrece un servicio muy parecido pero solo pueden ser ejecutados en servidores con sistemas operativos microsoft y estos son un poco mas costosos que otros que funcionan con Linux.




  Luego de emprender un largo camino de las nuevas tecnologías, emprendí un viaje por la red y comencé a visualizar los distintos códigos de las páginas y sus tecnologías implementadas, descubriendo que los sitios más famosos usan siempre lo último. Google usa mucho jQuery (una librería de javaScript), Facebook está creada con php y tiene tecnologías bastante novedosas de las cuales una de ellas es la de interactuar a través de cliente - servidor ofreciéndonos notificaciones en tiempo real sin refrescar la página, el correo hotmail esta creada en asp. etc... 

  Luego de muchos tutoriales y explicaciones de cosas que muchas veces no nos damos cuenta pero que si nos proporcionan comodidad, indagué sobre los softwares que permiten desarrollar un sitio y pues existen una gran lista... Pues comenzaré por dreamweaver un programa de adobe que nos ofrece una amplio IDE de programación y de actualizaciones de desarrollo... el único problema es que es de pago (pero a eso quien le importa, si tenemos un buen keyGen). otro programas más simples y que gastan menos recursos de procesamiento y otros que nos ofrecen diseñar páginas en vez de programar como Artister. pero uno me llamo mucho la atención y en este me centraré porque lo encontré bastante completo y es WebMatrix, un software gratuito creado por microsoft, este nos proporciona administrarción del sitio( http , ftp, bd, etc..) y programación, pero una programación altamente amplia de la cual incluyen un sin número de lenguajes(propios de microsoft como también otros ampliamente usados (ajax, php, js, css...). además de ofrecer diseños en cms (Worpress, Joomla, Drupal, etc...) y también generar un servidor local para testiar el sitio. 

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/