miércoles, 22 de abril de 2015


Programación

Ingeniería software
¿Que es la ingeniería software?
Ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software.

¿ Para qué sirven?
  La ingeniería de Software se orienta al diseño y construcción de programas computacionales ya sean estos de ingeniería, comerciales, científicos, administrativos, etc.
Desarrolla, opera y mantiene el software.


Ciclo de vida de un programa

El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.

El ciclo de vida básico de un software consta de los siguientes procedimientos:
  • Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
  • Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
  • Diseño general: requisitos generales de la arquitectura de la aplicación.
  • Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
  • Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  • Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
  • Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
  • Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
  • Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
  • Implementación
  • Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).


lenguajes de programación
El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 ( datos binarios).
El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos, razón por la cual se han desarrollado lenguajes intermediarios comprensibles para el hombre. El código escrito en este tipo de lenguaje se transforma en código máquina para que el procesador pueda procesarlo.
El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al lenguaje máquina, pero los desarrolladores pueden comprenderlo. No obstante, este lenguaje se parece tanto al lenguaje máquina que depende estrictamente del tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje máquina). Así, un programa desarrollado para un equipo no puede ser portado a otro tipo de equipo. El término "portabilidad" describe la capacidad de usar un programa de software en diferentes tipos de equipos. Para poder utilizar un programa de software escrito en un código ensamblador en otro tipo de equipo, ¡a veces será necesario volver a escribir todo el programa!
Por lo tanto, un lenguaje de programación tiene varias ventajas:
  • es mucho más fácil de comprender que un lenguaje máquina:
  • permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.



Algoritmos de programación
Definición: Un algoritmo se entiende como una sucesión finita de pasos que debe cumplir las siguientes especificaciones:
  • Cada paso del algoritmo debe estar bien definido: Esto significa que la definición de un paso debe ser suficientemente clara, para que una persona pueda entenderla y realizarla. Si bien no se puede dar un criterio determinístico para decidir si un paso está bien definido, debemos apelar al sentido común para decidir que un paso está especificado sin ambigüedades.
  • Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo escrito con un objetivo: conseguir un resultado. No tiene sentido crear un programa que espere ~ segundos (infinitos segundos) y luego escriba en pantalla "Hola Mundo!", del mismo modo que un algoritmo debe tener un principio bien definido (tampoco tiene sentido el algoritmo "haz nada, y luego escribe Hola Mundo!")

jueves, 26 de marzo de 2015


 10 Programadores más importantes

Tim Berners-Lee

Creador del protocolo HTTP, que permite el adecuado intercambio de documentos hipervinculados
Tim Berners-Lee
El CERN le permitió probar un concepto que habitó en su cabeza por varios años, que resultó en la Web, la red más exitosa entre las hospedadas por Internet. Berners-Lee merece una mención especial al abogar por el espíritu abierto y colaborativo de las tecnologías web, que ahora tienen en el inacabado HTML5 uno de sus retos más importantes.

Bram Cohen

Creador del protocolo BitTorrent de intercambio de archivos
Siendo un joven aficionado a los juegos matemáticos, creó bitorrent con el lenguaje de programación Python, para intercambiar, de forma colaborativa y óptima, un archivo en Internet. Con esto puso de cabeza a la industria del copyright, se creó una industria alternativa de contenidos, nació The Pirate Bay, incluso los partidos piratas, al tiempo que los paquetes torrent saturaron las venas de Internet. Bram Cohen hizo una empresa con su invento, sin embargo el protocolo nació de código abierto, listo para ser utilizado para cuanta cosa vayamos a compartir por la red.

Bill Joy

Creador de BSD, el sistema operativo sobre el que se construyeron los cimientos de Internet
La inteligencia y visión de Joy permitieron la creación de la Berkeley Software Distribution, un derivado inmediato, estable y robusto de UNIX sobre el cual se probaron las primeras versiones del Internet que hoy conocemos. No olvidemos que Van Jacobson usó un sistema BSD para crear la versión de TCP que permite que Internet no colapse. Además Joy co-fundó Sun Microsystems, una de las empresas más influyentes para el movimiento open source y cuna de software
impresionante como NFS, Solaris y Java. Ni qué decir lo mucho que Mac OS X le debe a BSD.

Alan Kay

Creador de Smalltalk y los conceptos de la programación orientada a objetos
Alan Kay
La sabiduría e inteligencia de Alan Kay es bien reconocida entre sus colegas. A Kay le debemos la computación personal, post-PC como ahora le llaman, basada en dispositivos móviles, tablets, así como la importancia de las interfaces de usuario para crear experiencias, sobre todo educativas.

Donald Knuth

Creador del lenguaje de programación TeX, pero sobre todo compendiador y teórico de los algoritmos que las generaciones siguientes seguimos utilizando para crear software
Donald Knuth
Knuth es una leyenda. Algunos le llaman el Yoda de la programación (algún parecido físico tiene). Escribió el mítico The Art of Computer Programming, para lo cual creó el software para maquetarlo, TeX, el lenguaje y máquina para ilustrar los algoritmos. Hoy en día LaTeX, un derivado de TeX, es el lenguaje predilecto para la creación de texto científicos. Asimismo, los trabajos de Knuth ayudaron a crear los compiladores que usamos hoy para crear software.

Bill Gates

Creador de BASIC Altair, padre de Windows, el sistema operativo de escritorio más popular del planeta
Gates carga una fama variopinta desde 1980 o antes. Con espíritu anti-cultura hacker escribió en 1976 la para recriminar a los programadores que usaron BASIC Altair sin su permiso. Luego sucedió el supuesto robo de un sistema operativo, QDOS, a Gary Kindall que suscitó el nacimiento del imperio Microsoft en las computadoras personales. Por cierto, la revista spectnde la IEEE publicó un estudio basado en un análisis forense que elimina esos dichos. Lo cierto es que gates fue un grandísimo nerd, ambicioso en los negocios, cuyo software y cultura marcaron la manera de hacer y usar software en casa y en la oficina.

Dennis Ritchie

Co-creador de Unix y el lenguaje C de programación
Me pongo de pie para decir, o bien escribir, que Ritchie es el programador-hacker por excelencia, la mente maestra detrás del software más influyente de la historia, verdaderas piedras angulares hechas bytes: el sistema operativo UNIX y el lenguaje C. Un hombre apoyado por otros grandes hackers como Kernighan y Thompson, que murió hace unos meses, dejando un legado de influencia con tantas ramificaciones que merece un libro entero.

Richard Stallman

Creador de Emacs, padre del movimiento por el software libre
Richard Stallman
Hombre polémico por donde se le vea. Odiado y amado, Stallman es el filósofo del software como objeto de conocimiento y mecanismo de libertad. Ver, modificar, mejorar y compartir el software son los principios fundamentales para Stallman, en lucha incansable y constantes desde la Fundación por el Software Libre a principios de los años 80. Vamos, que si el software parte de ideas, las ideas son conocimiento y el conocimiento pertenece a todos, entonces el software debe ser libre, sin más. Tal vez en unos años apreciemos en su verdadera medida la calidad y cantidad de aportaciones de Stallman, por ahora puedo decir que si nuestro Internet funciona es gracias, en buena medida, al software creado y difundido a partir de los esfuerzos del gran rms.

Linus Torvalds

Creador de Linux, el sistema operativo libre
El arrojo que tuvo para crear Linux, con una dictadura estrictamente pragmática para dirigir a centenas de programadores de todo el mundo, desde hace más de 20 años, le hacen digno de gran admiración. Y no sólo creó Linux, también creó Git, el software para gestionar versiones de software que hoy construye comunidades de código abierto como las de Github. Linux está en todos lados, sin triunfar en el escritorio, es cierto, pero detrás de cada servidor web, de cada búsqueda en Google, de cada like y tweet, en la búsqueda del bosón de Higgs, y en la computadora del próximo gran hacker.

Mark Zuckerberg

Creador de Facebook, la red social
El último de la lista y el que más me cuesta describir. El hombre simplemente escribió en PHP y Apache un software para gestionar la vida social de su campus, luego vio un negocio, lo hizo crecer, se hizo de buenos amigos inversionistas, la red se expandió como una enfermedad viral y hoy tenemos ante nosotrosFacebook, la red de redes sociales más influyente de la historia. Algunos piensan que la Facebook sabe demasiado de nosotros porque piensa en lo explícito, edad, fotos, amigos, familia. Pero Facebook puede saber mucho más que eso, algo oculto que emerge de entre todas nuestras conexiones. Y Zuckerberg, hábil programador, parece seguir al frente de todo eso.

lunes, 2 de marzo de 2015

realidad aumentada

Definiciones

Una de ellas fue dada por Ronald Azuma en 1997. La definición de Azuma dice que la realidad aumentada:
  • Combina elementos reales y virtuales.
  • Es interactiva en tiempo real.
  • Está registrada en 3D.
Además Paul Milgram y Fumio Kishino definen en 1994 la realidad de Milgram-Virtuality Continuum como un continuo que abarca desde el entorno real a un entorno virtual puro. Entre medio hay Realidad Aumentada (más cerca del entorno real) y Virtualidad Aumentada (está más cerca del entorno virtual).
Milgram's Continuum
Realidad Aumentada también es la incorporación de datos e información digital en un entorno real, por medio del reconocimiento de patrones que se realiza mediante un software, en otras palabras, es una herramienta interactiva que está dando sus primeros pasos alrededor del mundo y que en unos años, la veremos en todas partes, corriendo y avanzando, sorprendiéndonos y alcanzando todas las disciplinas: vídeo juegos, medios masivos de comunicación, arquitectura, educación e incluso en la medicina, trayendo un mundo digital inimaginable a nuestro entorno real. Su gran diferencia con la realidad virtual, es que ésta nos extrae de nuestro entorno para llevarnos a una realidad.


Tecnología

Los dispositivos de Realidad aumentada normalmente constan de un "headset" y un sistema de display para mostrar al usuario la información virtual que se añade a la real. El "headset" lleva incorporado sistemas de GPS, necesarios para poder localizar con precisión la situación del usuario
Los dos principales sistemas de "displays" empleados son la pantalla óptica transparente (Optical See-through Display) y la pantalla de mezcla de imágenes (Video-mixed Display). Tanto uno como el otro usan imágenes virtuales que se muestran al usuario mezcladas con la realidad o bien proyectadas directamente en la pantalla.
Los Sistemas de realidad aumentada modernos utilizan una o más de las siguientes tecnologías: cámaras digitales, sensores ópticos, acelerómetros, GPS, giroscopios, brújulas de estado sólido, RFID, etc. El Hardware de procesamiento de sonido podría ser incluido en los sistemas de realidad aumentada. Los Sistemas de cámaras basadas en Realidad Aumentada requieren de una unidad CPU potente y gran cantidad de memoria RAM para procesar imágenes de dichas cámaras. La combinación de todos estos elementos se da a menudo en los smartphones modernos, que los convierten en un posible plataforma de realidad aumentada.


Técnicas de visualización

Display en la cabeza[

Una pantalla instalada en la cabeza (HMD Head-Mounted Display) muestra tanto las imágenes de los lugares del mundo físico y social donde nos encontremos, como objetos virtuales sobre la vista actual del usuario.


Display de mano

El dispositivo manual con realidad aumentada cuenta con un dispositivo informático que incorpora una pantalla pequeña que cabe en la mano de un usuario. Todas las soluciones utilizadas hasta la fecha por los diferentes dispositivos de mano han empleado técnicas de superposición sobre el video con la información gráfica. Inicialmente los dispositivos de mano empleaban sensores de seguimiento tales como brújulas digitales y GPS que añadían marcadores al video.

Display espacial

La Realidad Aumentada espacial (SAR) hace uso de proyectores digitales para mostrar información gráfica sobre los objetos físicos. La diferencia clave es que la pantalla está separada de los usuarios del sistema. Debido a que el display no está asociado a cada usuario, permite a los grupos de usuarios, utilizarlo a la vez y coordinar el trabajo entre ellos. SAR tiene varias ventajas sobre el tradicional display colocado en la cabeza y sobre dispositivos de mano. El usuario no está obligado a llevar el equipo encima ni a someterse al desgaste de la pantalla sobre los ojos.

Aplicaciones

La realidad aumentada ofrece infinidad de nuevas posibilidades de interacción, que hacen que esté presente en muchos y varios ámbitos, como son la arquitectura, el entretenimiento, la educación, el arte, la medicina o las comunidades virtuales.
Proyectos educativos:
Actualmente la mayoría de aplicaciones de realidad aumentada para proyectos educativos se usan en museos, exhibiciones, parques de atracciones temáticos... puesto que su coste todavía no es suficientemente bajo para que puedan ser empleadas en el ámbito doméstico

Televisión
La RA se ha vuelto común en la teledifusión de deportes. La línea amarilla del "primero y diez" vista en las transmisiones de los partidos de fútbol americano, muestra la línea que la ofensiva del equipo debe cruzar para recibir un primero y diez; Los elementos del mundo real son el campo de fútbol y los jugadores, y el elemento virtual es la línea amarilla electrónica, que aumenta la imagen en tiempo real. La RA también se utiliza en las transmisiones de fútbol para mostrar el resultado (o un anuncio) en el círculo central o para mostrar las situaciones de fuera de juego.
Entretenimiento:
Teniendo en cuenta que el de los juegos es un mercado que mueve unos 30.000 millones de dólares al año en los Estados Unidos, es comprensible que se esté apostando mucho por la realidad aumentada en este campo puesto que ésta puede aportar muchas nuevas posibilidades a la manera de jugar.
Simulación:
Se puede aplicar la realidad aumentada para simular vuelos y trayectos terrestres.
Servicios de emergencias y militares:
En caso de emergencia la realidad aumentada puede servir para mostrar instrucciones de evacuación de un lugar. En el campo militar, puede mostrar información de mapas, localización de los enemigos...
Arquitectura:
La realidad aumentada es muy útil a la hora de resucitar virtualmente edificios históricos destruidos, así como proyectos de construcción que todavía están bajo plano.
Apoyo en tareas complejas:
Tareas complejas, como el montaje, mantenimiento, y la cirugía pueden simplificarse mediante la inserción de información adicional en el campo de visión.

Los dispositivos de navegación:
La RA puede mejorar la eficacia de los dispositivos de navegación para una variedad de aplicaciones. Por ejemplo, la navegación dentro de un edificio puede ser mejorada con el fin de dar soporte al encargado del mantenimiento de instalaciones industriales.
Aplicaciones Industriales:
La realidad aumentada puede ser utilizada para comparar los datos digitales de las maquetas físicas con su referente real para encontrar de manera eficiente discrepancias entre las dos fuentes. Además, se pueden emplear para salvaguardar los datos digitales en combinación con prototipos reales existentes, y así ahorrar o reducir al mínimo la construcción de prototipos reales y mejorar la calidad del producto final.
Prospección:
En los campos de la hidrología, la ecología y la geología, la AR puede ser utilizada para mostrar un análisis interactivo de las características del terreno. El usuario puede utilizar, modificar y analizar, tres mapas bidimensionales interactivos.
Colaboración:
La realidad aumentada puede ayudar a facilitar la colaboración entre los miembros de un equipo a través de conferencias con los participantes reales y virtuales.
Publicidad:
Una de las últimas aplicaciones de la realidad aumentada es la publicidad. Hay diferentes campañas que utilizan este recurso para llamar la atención del usuario.
Turismo:
Aplicaciones como "La Ciudad de México en el Tiempo" de ILLUTIO,11 han logrado llevar a los usuarios a recorrer la ciudad en sus diferentes épocas históricas a través de la Realidad Aumentada y la Geolocalización


Información:
La empresa austriaca Mobilizy ha desarrollado Wikitude. Al apuntar la cámara del móvil hacia un edificio histórico, el GPS reconoce la localización y muestra información de la Wikipedia sobre el monumento
Networking y eventos:
La empresa mexicana ILLUTIO15 ha desarrollado BIC (Business Intelligent Card). Al apuntar la cámara del móvil hacia una tarjeta de presentación, la app reconoce la imagen o logo de la empresa y muestra un video, animación o modelo 3D sobre la misma tarjeta; además guarda los datos de contacto en la nube, sin necesidad de preocuparse por perder o guardar las tarjetas físicas.

Aplicaciones futuras


  • Aplicaciones de multimedia mejoradas, como pseudo pantallas holográficas virtuales, sonido envolvente virtual de cine, "holodecks" virtuales (que permiten imágenes generadas por ordenador para interactuar con artistas en vivo y la audiencia).
  • Conferencias virtuales en estilo "holodeck".
  • Sustitución de teléfonos celulares y pantallas de navegador de coche: inserción de la información directamente en el medio ambiente. Por ejemplo, las líneas de guía directamente en la carretera.
  • Plantas virtuales, fondos de escritorio, vistas panorámicas, obras de arte, decoración, iluminación, etc, la mejora de la vida cotidiana.
  • Con los sistemas de RA se puede entrar en el mercado de masas, viendo los letreros virtualmente, carteles, señales de tráfico, las decoraciones de Navidad, las torres de publicidad y mucho más. Éstos pueden ser totalmente interactivos, incluso a distancia.
  • Cualquier dispositivo físico que actualmente se produce para ayudar en tareas orientadas a datos (como el reloj, la radio, PC, fecha de llegada / salida de un vuelo, una cotización, PDA, carteles informativos / folletos, los sistemas de navegación para automóviles, etc.) podrían ser sustituidos por dispositivos virtuales.

jueves, 5 de febrero de 2015

VIAJE A BUCAREST

COMO PREPARAR UN VIAJE A BUCAREST


¿Cuando viajar a Bucarest?
El mejor mes para ir a Bucarest es julio del 4 al 11
¿Como ir a Bucarest?
Lo mejor para ir a bucarest es ir primero desde tu destino ir a Barcelona en coche y después en Barcelona coger un avión hasta Bucarest.
¿Donde alojarse?
El mejor hotel de Bucarest es el Monte Carlo Palace de cinco estrellas.
   Hotel Monte Carlo Palace
 29 Baiculesti, 013193 Bucarest, Rumanía
 Tel- +40 21 668 4008
Precio: 819 €


descarga.jpg
¿Que visitar en Bucarest?
los monumentos mas visitados en bucarest y con la mejor  calificación por los cluientes son:
Parlamento Rumano ( todo el dia abierto) gratis
 


Ateneo Rumano ( de 11 a 20) 5 €


Museo Satulu( de 12 a 18) 5 €
i   


museun of deRomanian peasant ( de 13 a las 22) 10 €


National museun of art of Romanian


Catedral patriarcal de Bucarest ( todo el día) gratis
t

¿Donde comer en Bucarest
  • the ARTIST (Strada Pictor Nicolae Tonitza, Sector 3, Bucarest)



29-300x200.jpg
Restaurant BioFresh (19A Leon Voda St | 4th Sector, Bucarest 040288, Rumania)


  • Biomediterraneo Bistro & Marché (3A Ion Campineanu Street, sector 1, Bucarest 10031, Rumania)



biomediterraneo-bistro.jpg
Hard Rock Cafe (Sos. Kiseleff, Nr. 32C, Bucarest, Rumania)



esterno.jpg
Dionysos Wine Bar (Sepcari Str. corner 19th Covaci Street | Old City, Bucarest, Rumania)



dionysos-wine-bar.jpg
Beca's Kitchen - Homemade Food (Mihai Eminescu 80 | Sector 2, Bucarest 020081, Rumania)




beca-s-kitchen-homemade.jpg
French Revolution (Constantin Esarcu Nr. 1, Bucarest 010291, Rumania )



french-revolution.jpg


Le Boutique - Food Concept Store (Strada Sfantul Stefan Nr. 13, Bucarest 023996, Rumania)



le-boutique-food-concept.jpg
Cafe Athenee (Episcopiei 1-3, Bucarest, Rumania)




cafe-athenee.jpg


¿ cómo desplazarse por Bucarest?
La mejor forma de desplazarse es en taxi o en autobús porque son los más baratos y rapidos