Generadores de codigo : agilizando el desarrollo

por:

 

Generadores de codigo para agilizar el desarrollo del software

 

Uno de los temas que más de moda está en los últimos años, son los generadores de código de manera automática, que toman como entrada una descripción del diseño que se quiere construir y ellos realizan una implementación en el lenguaje que nosotros le indiquemos.

Introducción a los generadores de codigo

En un primer momento, los generadores de código nacen como una manera de agilizar el desarrollo, por ejemplo si siempre partimos de un caso en el que usamos 5 librerías y nuestro diseño es de cierta manera, para nosotros sería muy útil, poder disponer de esa plantilla ya creada y luego completar el contenido. Este proceso es muy importante si queremos diseñar un prototipo rápido, de lo que va a ser nuestro servicio y con el cual le podemos enseñar a un posible cliente, inversor o al propio equipo, cómo será lo que queremos montar.

Ese tipo de sistemas hasta hace poco los teníamos disponibles y nos añadían muchas facilidades, pero actualmente y utilizando una expresión muy típica de informática, hemos intentado “rizar el rizo” para conseguir que no sea una mera plantilla lo que vamos a utilizar, sino que nos pueda generar una versión sencilla, pero completa o casi completa de todo el sistema.

 

Tipos de generadores de codigo

Dentro de los generadores de código, desde mi punto de vista podemos distinguir dos tipos principales:

  • Generadores interactivos: este tipo de generadores son muy comunes actualmente y permiten, que con un simple sistema de arrastrar y configurar un par de parámetros del elemento, poder generar todo el código necesario para implementar esa funcionalidad. Un ejemplo de ello es el App Studio, el generador de Aplicaciones para Windows Phone que Microsoft pone a disposición de cualquier persona.
  • Generadores usando un lenguaje de modelado: este tipo de generadores son menos comunes pero son los más “potentes”, ya que usando una descripción del modelo que queremos crear en un lenguaje de modelado como UML, son capaces de crear un porcentaje bastante amplio del código. Un ejemplo de esto es Visual Paradigm, y una de sus ventajas es que permite generar código en diversos lenguajes como C++, Java y PHP.

 

Leer más

Como crear una web: 6 CloudFlare

por:

Hace ya algún tiempo hablábamos de algunos consejos y guías para ayudar a las personas a diseñar sus webs y optimizarlas. Uno de los servicios que se utiliza con más asiduidad en la actualidad son los CDN ( Red de entrega de contenidos), este servicio se utiliza para distribuir el contenido desde distintos servidores y que el tiempo de carga sea mínimo, independiente de la localización de nuestros visitantes.

Por ejemplo una gran empresa, no se puede permitir tener sus servidores en Estados Unidos y por tanto que funcione bien en América, pero que desde Europa sus usuarios tarden mucho en cargar sus páginas o disponer del software que les están vendiendo.

 

CloudFlare

CloudFlare es uno de los servicios de CDN más utilizados, entre otras cosas por disponer de múltiples opciones y maneras de configuración. Además dispone de un servicio gratuito, con el que puedes probarlo y si ves que necesitas más características siempre puedes ir a una versión superior.

Algunas de las opciones que tiene CloudFlare son:

  • Disponibilidad de la página, incluso cuando está caída, mediante la visualización de una caché de nuestra página.
  • Minimización de los archivos fuente de nuestra web (CSS, HTML, JS).
  • Disponibilidad de un conjunto de aplicaciones para nuestra página de rápida configuración, como Google Analytics.
  • Denegación de accesos desde IPs que han lanzado ataques antes.
  • Gestión de estadísticas propias desde CloudFlare.

Leer más

Windows 8.1 update 1 : todas las novedades

por:

Como muchos de nuestros lectores sabréis esta semana se está celebrando la Build 2014, para aquellos que no os suene a nada estas siglas, os diremos que es el evento en el cual Microsoft presenta todas las novedades para el año 2014. No os vamos a promocionar todos los productos y sus novedades, pero sí vamos a hablar hoy de Windows 8.1 y su nueva actualización que será lanzada en los primeros días de abril.

Novedades en Windows 8.1 update 1

La principal novedad es que el sistema conocido como Metro UI del que tanto se ha hablado, ya que la mayoría tenía una opinión negativa al respecto (por mi parte ha sido positiva), se puede utilizar ahora de manera más sencilla con un ratón y teclado, en lugar de con un dispositivo táctil del que carecemos la mayoría. Los añadidos que hemos podido comprobar son:

  • Mayor accesibilidad al botón de apagar el ordenador, que mucha gente no sabía dónde se encontraba al principio.
  • Las aplicaciones de la tienda, tienen dos de los botones típicos, cerrar y minimizar, que se encuentran en la esquina superior derecha.
  • Las aplicaciones cuando están minimizadas, aparecen en la barra de tareas, así es sencillo saber si nos dejamos alguna abierta y mejora su accesibilidad.
  • Skydrive desaparece y “nace” un nuevo live title llamado Onedrive.
  • Botón directo para realizar búsquedas desde el menú de inicio.

Leer más

Elementary OS : configurando a fondo la distribución

por:

 

Elementary OS una gran distribución de linux enfocada en el rendimiento y su gran diseño

 

Hace ya algún tiempo hablamos de Elementary OS como una distribución de Linux con estilo propio. Hoy os traemos una serie de pasos, para conseguir adaptarla a tu gusto y conseguir dotar del estilo “Elementary” a nuestro sistema y otras aplicaciones.

El navegador web

Una de las primeras cosas, que notamos de esta distribución es que no usa ninguno de los grandes navegadores de Linux (Firefox y Google Chrome), así que el primer paso al instalarla para mí, es cambiar de navegador. No voy a entrar en las ventajas de uno u otro, pero decir que ahora mismo tengo Firefox y Chromium (está en el centro de aplicaciones) instalados. Los dos tienen un estilo muy similar al del sistema y no desentonan dentro de él.

Ofimática

Si nuestro objetivo es tenerla como distribución principal, tiene un grave problema, su ausencia de un procesador de texto y una hoja de cálculo, lo que comúnmente denominamos una suite ofimática, para ello solo tenemos que descargar LibreOffice desde su página web principal. Ahora solo tenemos que darle el estilo “Elementary”, para ello seguiremos esta guía.

Elementary Tweaks

Elementary Tweaks es un software desarrollado para permitir adaptar y mejorar todo el entorno Elementary, con él vamos a poder desde cambiar el tema de la distribución, los iconos y otras opciones visuales, hasta adaptar la barra superior a nuestro gusto. Para ello debemos ejecutar en la terminal:

sudo sudo add-apt-repository ppa:versable/elementary-update
sudo apt-get update
sudo apt-get install elementary-tweaks

Leer más

Aprender a ser Hacker con estos recursos

por:
Emblema Hacker
Emblema Hacker

Una de las primeras cosas que nos suelen decir, esos amigos que no saben de informática es ¿tu eres un hacker no? ¿sabes hackerar el tuenti/twitter/facebook de x?. Pues bien, lo primero que debemos decirles a esas personas es que hay dos conceptos muy distintos para nosotros, los informáticos, pero que para el público general vienen a ser lo mismo:

  • Cracker este es el nombre de aquellas personas que se dedican a romper los sistemas de seguridad para conseguir un beneficio económico principalmente o en otros casos obtener información para fines poco lícitos.
  • Hacker esta es la denominación de todas aquellas personas que son expertos en seguridad informática, programadores o diseñadores de sistemas (físicos, principalmente).

Por eso yo mismo, si alguien me pregunta si soy un hacker muchas veces digo sí, pero no soy un cracker. Así mismo, muchos de nuestros lectores seguramente sean hackers con altos conocimientos en seguridad o en programación, mientras que pocos de ellos serán crackers.

Aprender a ser un Hacker

Para aprender a ser un hacker (aunque para ser reconocido, hay que tener una larga trayectoria) podemos empezar a estudiar dos técnicas distintas:

  • Programación: la programación es básica para todos los hackers, la mayoría de ellos saben trabajar a bajo nivel y lo prefieren para sus actividades frente a una programación a alto nivel. Aunque las dos características son necesarias. Para ello os dejamos este link.
  • Seguridad informática: la seguridad informática, aunque está directamente ligada a la programación, es un mundo muy extenso y complejo, para adentrarnos en ese mundo hoy os presentamos Hacker Highschool.

 

Hacker Highschool

Esta página web ofrece un conjunto de cursos e información en diversos idiomas ( aunque recomendamos que utilicéis los recursos en inglés) para aprender ciertos conceptos de seguridad informática, básicos, pero necesarios para profundizar. Contenido:

  •  Glosario
  • Malware
  • Análisis de tipos de ataques
  • Contraseñas
  • Comandos
  • Puertos y protocolos
  • Uso de demonios
  • Técnicas de forense
  • Hacking Email

 

Esperamos que os sean útiles, para empezar en este mundo de la seguridad informática, que es uno de los temas principales de nuestra comunidad.

Instalar Mac OS X Mavericks en tu PC

por:

 

Instalar Mac OSX Mavericks en tu PC hackintosh

 

En esta guía de hoy, os traemos un completo manual para instalar la última versión del sistema operativo de Apple, tanto si lo queréis para probarlo, como si necesitáis usar un software que solo sea ejecutable para este sistema. Esto normalmente se conoce como hackintosh.

OS X Mavericks : Antes de empezar

Lo primero es que antes de empezar hay que cumplir una serie de requisitos:

  • Tener unos conocimientos de informática, a nivel medio.
  • Usar un Procesador Intel o AMD (para AMD usar su opción correspondiente)
  • Saber manejar la BIOS
  • Paciencia (yo tardé unas 2h en tenerlo instalado)
  • Conocimientos mínimos de inglés, para poder leer algunos artículos donde explican como resolver algunos de los problemas más frecuentes.

Además Somos Binarios no responderá de la pérdida de datos y/o problemas relacionados, con el mal uso de esta guía. Hazlo bajo tu responsabilidad.

 

OS X Mavericks : Ajustando la BIOS

Lo primero que debemos hacer es:

  • Cargar ajustes por defecto.
  • Poner en la BIOS nuestra configuración de discos duros a AHCI.
  • Deshabilitar todos los puertos mediante la BIOS (todo lo que no sea imprescindible)
  • Si no es posible deshabilitarlo, desenchufar todo menos 1 teclado, 1 ratón, 1 pantalla, 1 disco duro y el sistema donde tengas la imagen (con esto eliminamos posibles fuentes de problemas).
  • Seleccionar que arranque desde nuestro medio de instalación.

 

OSX Mavericks: Obtener y grabar la imagen

Para instalarlo, vamos a usar esta versión. Debéis grabarla en un CD o en un USB (yo utilicé la última opción). Para grabar la imagen usaremos Win32 Disk Imager.

 

OS X Mavericks : Primer arranque

Aquí llega la paciencia, algunos usuarios tendrán la suerte de que les funcione todo a la primera, otros necesitaremos ir probando configuraciones hasta dar con una que funcione en nuestro PC. Esto depende de los componentes y por tanto no hay unos que funcionen a todos.

Lo que veremos será algo como esto:

Comenzando la instalacion de OS X Mavericks en tu PC

Leer más

Raspberry pi televisión y fútbol versión 2.0

por:

 

Raspberry Pi television y futbol en un click

 

Hace tiempo tocamos el tema de la reproducción de contenidos en nuestros Raspberry Pi via SopCast, pues un usuario nos ha mandado un pequeño proyecto basado en el script que realizamos que incluye nuevas cosas respecto al nuestro:

  • Soporte para AceStream.
  • Mas canales predefinidos.
  • Sistema más sencillo de adicción de canales.
  • Mejor soporte de OMXPlayer.

 

En general podemos decir que es una mejora del proyecto anterior con más opciones y un desarrollo más “profesional”.

Canales

En este momento cuenta con 16 canales:

  • Todos los de la web Arena Vision que retransmite eventos deportivos (tanto desde SopCast como desde AceStream)
  • Los dos canales de EuroSport
  • Tres canales de Sky Sports el canal 3, el 4 y el dedicado a la Fórmula 1.

Descarga e instalación

Para descargarlo e instalar debéis entrar en la dirección de su repositorio de GitHub, donde están todas las instrucciones de uso y además toda la información necesaria para hacerlo funcionar.

 

Autoría

El autor de este trabajo, no somos nosotros, sino que en este caso es ALESNAV, un lector nuestro que nos dejo su trabajo en los comentarios, si tenéis alguna duda la podéis dejar en GitHub o aquí. Nosotros intentaremos ayudar en todo lo posible.

 

Además queremos anunciar que estamos trabajando en la versión 3.0 de este sistema, con el proyecto de ALESNAV, para una mejor integración de todo el proyecto con XBMC, para simplificar y facilitar el uso del programa.

Microsoft Virtual Academy un buen lugar para aprender

por:

Es estos tiempos actuales, las principales empresas del sector de la tecnología, están desarrollando sus propias plataformas para enseñar de forma gratuita sus tecnologías. Una de ellas es Microsoft que con MVA (Microsoft Vitual Academy) intenta expandir el uso de sus sistemas (Windows 8 y Windows Phone 8) y sus principales tecnologías C#, la plataforma .NET o su nube privada, Azure.

Microsoft Virtual Academy
Microsoft Virtual Academy

Microsoft Virual Academy

Este servicio es un lugar perfecto para aprender, ya que conseguimos contenido de primer nivel (principalmente en inglés) y de forma gratuita. Además quien puede enseñar mejor como trabaja C# que los propios creadores o empleados que trabajan con ellos todos los días.

Tenemos también la oportunidad de configurar los cursos que queremos seguir, realizando un plan personalizado de aprendizaje, para llegar a culminar nuestra tarea. Este recurso lo veo interesante tanto para gente que quiere aprender desde el inicio, como para profesionales que necesitan actualizarse con nuevas tecnologías.

Leer más

Inteligencia artificial : tipos y ejemplo práctico

por:

La inteligencia artificial, es uno de los campos más complejos pero también más misteriosos de la informática, es por ello que en un futuro, seguramente será uno de los campos más importante de esta ciencia. Vamos a intentar acercar la inteligencia artificial y los desarrollos en este campo de una manera sencilla.

Podemos definir la inteligencia artificial como el proceso de pensar realizado por un agente inerte. Pero dentro del concepto de inteligencia artificial, hay varios “tipos” que son muy distintos entre ellos:

  • Sistemas que piensan como humanos.
  • Sistemas que actúan como humanos.
  • Sistemas que piensan racionalmente.
representacion de una inteligencia artificial
Representacion de una inteligencia artificial

Llegados a este punto mucho podréis preguntaros, pero entonces lo que nosotros llamamos comúnmente IA es una verdadera inteligencia artificial. La respuesta a esta pregunta nos es exacta, si ponemos un ejemplo en el campo de los videojuegos tenemos:

Inteligencia artificial con estrategias prefijadas

Por una parte un juego de estrategia, tipo Age of Empires o StarCraft (para mí una de las mejores IA), en este tipo de juegos, realmente no se puede considerar que tengan una inteligencia artificial, ya que lo que tienen es un conjunto de estrategias, ya grabadas y predefinidas, pero a nosotros no nos parecen que las partidas sean siempre iguales y si el proceso es secuencial deberían serlas. Sin embargo, lo que los desarrolladores utilizan son un conjunto lo más amplio posible de estrategias, junto con “estados” que permiten cambiar de una estrategia a otra y el acceso a una base de datos donde tienen información importante para poder jugar.

Principalmente esto se realiza con una cola de prioridad, en la que se indica cada elemento (construcción, producción, creación de personaje) junto con la prioridad que tiene crearlos.

Si tenéis ganas de experimentar o profundizar en este campo os recomiendo esta página, en ella hay una serie de inteligencias artificiales programadas por usuarios y se ve el rendimiento que alcanzan.

El campeón por ejemplo utiliza entre otras cosas:

  • Un simulador de combates.
  • Optimización de rutas de recolección (lo típico de ir a la granja sacar X de carne y volver a la base a dejarlo)
  • Optimización del espacio para construcciones.

Leer más

Lubuntu una distribución Linux que convive con Windows

por:

 

Lubuntu una distribución Linux que convive con Windows

 

Hace tiempo que me gusta investigar nuevas distribuciones Linux, tanto de las últimas que van saliendo, como de aquellas con cierta tradición pero que, por no sé qué motivos, pasaron un poco desapercibidas.
Una de estas distribuciones que siempre recomiendo, especialmente a quienes estén deseando probar o pasarse al entorno Linux procediendo de Windows, sin por ello perder una interfaz amigable y reconocible, es Lubuntu.
No es, repito, de las más conocidas, pero desde luego tiene unas características que, bajo mi punto de vista, la hacen excelente: Por una parte es muy ligera es decir, que va cono un trueno de rápida incluso si la instalas con Wubi y la haces convivir en Windows sin necesidad de hacerle una partición propia. De manera que no corres el riesgo de “cargarte” nada en tu actual sistema, y adhieres toda la potencia, solvencia y seguridad de Linux como Sistema Operativo de apoyo en tu PC. También Puedes descargarla, si lo deseas, desde lubuntu.net

Leer más