Creación de códigos QR

por:

En este artículo vamos a enseñaros como crear códigos QR, desde la terminal, mediante el paquete/aplicación QREncoder para crear los códigos QR, y por otra parte, iremos usando a lo largo del artículo la aplicación QR Droid, en el móvil, para ir comprobando que los códigos QR muestra lo que realmente ha de mostrar. Pero sirve cualquiera que pueda escanear este tipo de códigos.

Para ello, el único requisito para nuestro sistema operativo, que en este caso es Ubuntu 12.04, es instalar la aplicación QRencoder desde terminal.

Un código QR, es también conocido como un código de barras bidimensional, es una imagen que puede guardar texto, mapas, e incluso contactos para la agenda de direcciones, entre muchas otras cosas. En este artículo vamos a hacer un QR sobre una URL, y un segundo código sobre texto.

Código QR con un enlace

Instalaremos la aplicación con el siguiente comando:

1
apt-get install qrencode
apt-get install qrencode

Para enseñar como funciona esta aplicación, vamos a empezar creando un código QR que nos lleve a la página oficial de Somos Binarios. Para ello, utilizaremos el siguiente comando

1
qrencode -o somosbinarios.png http://www.somosbinarios.es
qrencode -o somosbinarios.png http://www.somosbinarios.es

Ese comando nos creará un fichero PNG, llamado somosbinarios que contendrá el código QR, dónde si lo analizamos con un programa analizador de códigos QR, en nuestro caso, el QR Droid, nos redirigirá a nuestra web, www.somosbinarios.es.

Hay que tener en cuenta que para evitar posibles fallos en los lectores, siempre crearemos las imágenes QR con extensión PNG.

Nuestro codigo QR creado

Leer más

Aprende a usar Markdown y escribe rápido

por:

markdown Header
Entre las muchas tecnologías que se están haciendo populares en los últimos tiempos y de las que os solemos hablar en esta comunidad, hay una con la que no me había topado pero que está convirtiéndose en algo realmente muy usado. Esta tecnología es Markdown, aunque más que tecnología podíamos hablar de un sistema para aplicar estilos a nuestros textos de manera rápida y sencilla.

Por qué es útil Markdown

Muchos de nosotros, somos usuarios habituales de sistemas de procesamiento de texto, como pueden ser Word, Writer. En los que para poner en negrita un texto, por ejemplo debemos soltar una mano del teclado y con el ratón aplicar este estilo o sabernos un atajo con el que poderlo poner sin soltar el teclado.
En algunos casos este sistema es muy interesante debido a que podemos tener un grado de personalización de los ajustes muy amplio, pero en otros casos donde solo queremos tener las tres o cuatro opciones más comunes, debería existir otro sistema que nos permitiera escribir rápido, sin tener que utilizar el ratón para dar el estilo al texto esto es lo que nos permite hacer Markdown.

¿Qué podemos hacer con Markdown?

Por supuesto este sistema, no tiene todas las facilidades que puede tener Word y no vamos a poder configurar el estilo de página o una gestión compleja de los encabezados. Pero hay muchas otras cosas, más que suficientes en la mayoría de los casos que sí vamos a poder hacer:

  • Podemos aplicar negrita y cursiva de una manera sencilla, encerrando nuestro texto con ‘*’ para cursiva y con ‘**’ para negrita
  • Podemos crear encabezados y subtítulos de manera simple, estableciendo una jerarquía usando ‘# ‘ siendo una almohadilla, el elemento mayor de la jerarquía de encabezados (h1 en HTML) y añadiendo otra almohadilla para tener el segundo elemento (h2 en HTML) etc.
    Leer más

MOOC : el nuevo sistema de enseñanza

por:

Para muchos de vosotros, las siglas MOOC (Massive Online Open Course) pueden resultar desconocidas, pero si hablamos de Coursera, Udacity y proyectos similares, puede que la cosa cambie. Pero si todavía no sabes lo que son estos sitios y lo que te pueden ofrecer, te recomendamos que prestes atención al siguiente artículo.

Qué es un MOOC

Logotipo de los cursos MOOC

Los MOOC son cursos de una temática en concreto, que por lo general suelen ser bastante especializados, cuya inscripción es gratuita, que permiten un aprendizaje mediante vídeos y documentos de texto de forma masiva. Este tipo de cursos, suelen tocar multitud de temáticas, aunque los de carácter tecnológicos suelen ser los más comunes. Como rasgo común, podemos encontrar que son ofertados principalmente por universidades de Estados Unidos, como Stanford y Princeton. Estos MOOC intentan ser canalizados por plataformas como Coursera, que buscan por un lado ofrecer la mejor y más variada oferta y por otro, tener una gran comunidad de estudiantes, muy activa y que busque nuevas metas.

Las ventajas de los MOOC

Los MOOC han conseguido, revolucionar la enseñanza con algunas de sus ventajas:

  • Son gratis, así que mucha gente los prueba porque no hay que realizar una gran desembolso. Esto quiere decir, que mucha gente se apunta a un curso, que no tiene nada que ver con lo que estudia o ha estudiado, para probar.
  • Tratan sobre temas muy concreto, como por ejemplo aprendizaje automático, cosa que no ofertan en la mayoría de universidades.
  • Se crea una gran comunidad entre los alumnos, por experiencia propia, casi todos los cursos tiene su grupo de discusión, foro, grupo de Facebook etc, donde los estudiantes presentan sus dudas, documentos relacionados y cualquier cosa de interés para la comunidad.
  • Suelen contar con un material muy bien elaborado, que en la mayoría de los casos, basta para aprobar el curso.

Las desventajas de los MOOC

Principalmente podemos destacar estos puntos negativos:

  • Gran cantidad de los alumnos, nunca terminan los cursos.
  • La mayoría están en inglés, aunque algunos cuentan con subtítulos en diferentes idiomas. Esto supone un impedimento para muchas personas.
  • Es difícil evaluar de forma individual a tantas personas, así que se suelen utilizar exámenes tipo test y los mismos ejercicios. Con el problema, de que los alumnos se copien.

Leer más

Microsoft regala 300 libros sobre tecnología

por:

Rompemos un poco el calendario de publicación establecido para informaros de la nueva iniciativa de Microsoft en la cual regalan gran cantidad de libros sobre tecnología. Aunque principalmente está enfocada en sus productos, como Word, Excel, SQL Server o Windows en sus distintas versiones, también hay otros más generalistas.

Biblioteca

Cómo sacarle provecho a los libros

Un ejemplo sencillo es que si tu buscas aprender SQL lo mismo no hay ningún libro que enseñe SQL exacto, pero seguramente si descargas el de SQL Server vaya explicando el lenguaje SQL y elijan como entorno SQL Server lo cual te puede permitir aprender el lenguaje, ya que la base con la que trabajes es más o menos independiente y por lo tanto no te dará muchos problemas.

Los mejores libros

En esta sección voy a destacar los siguientes:

Como os indicamos hay muchos libros y lo mejor será que cada uno entre y vea cuales le interesan. Podéis entrar desde aquí.

Además Microsoft indica que ya se ha pasado el hito del millón de descargas y han publicado un top que es accesible desde aquí.

Actualización: hoy nos hemos enterado de que Microsoft sigue poniendo a nuestra disposición más libros de manera pública y gratuita, que se pueden consultar aquí entre ellos podemos encontrar uno sobre Windows 10, varios sobre Azure (la nube de Microsoft) y uno muy interesante de desarrollo de aplicaciones móviles multidispositivo con Xamarin. Yo me he bajado este último y la verdad tiene una calidad excepcional, más de 400 páginas donde enseñan lo principal, con ejemplos, fotos, diagramas etc.

Desde Somos Binarios esperamos que algunos de ellos os sean útiles y si os enteráis de alguna iniciativa similar, nos podéis informar vía comentarios o redes sociales.

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

Introducción a Git (II)

por:

Manual de git tu repositorio

 

Git : Usando ramas

¿Qué ocurre si queremos trabajar en el desarrollo de una nueva función de nuestro software pero queremos añadirlo a la rama principal una vez que esté completamente desarrollado? Crearíamos una nueva rama en la que trabajaríamos para luego fusionarla con la principal. Esto se hace con el comando git branch <nombre de la rama>, para luego movernos a ese branch con git checkout:

$ git branch nuevo

$ git checkout nuevo

Alternativamente, podemos juntar estos dos pasos escribiendo:

$ git checkout -b nuevo

Esta rama no estará disponible en el repositorio remoto a menos que la subamos:

$ git push origin nuevo

Cuando queramos fusionar esta rama con otra, por ejemplo la rama master (que es la rama por defecto), deberemos hacer el checkout a dicha rama y luego usar git merge:

$ git checkout master

$ git merge nuevo

En el caso de que hayan habido cambios en la rama master probablemente habrá que corregir conflictos en los archivos manualmente. Tras la resolución de dichos conflictos tendremos que hacer el add y el commit habitual. Antes de hacer el merge podemos consultar las diferencias usando:

$ git diff master nuevo

Y finalmente, si consideramos que hemos acabado con esta rama y queremos borrarla:

$ git branch -d nuevo

Leer más

Aprender a programar en c

por:

En esta entrada os queremos invitar a un curso para aprender a programar en c paso a paso. Para ello contamos con un foro y material que se usa en el aprendizaje en las universidades.

Introducción

El lenguaje de programación C fue creado en 1972, está pensado para implementar Sistemas Operativos, clásicamente Unix. Además de para crear S.O. se utiliza para diseñar aplicaciones, debido a la alta eficiencia del código escrito en este lenguaje.

Es un lenguaje peculiar ya que posee características de lenguajes de bajo nivel, como ensamblador (gestión de memoria, punteros, etc.). Pero además se pueden implementar estructuras complejas, como listas, árboles, etc.

El libro más importante es  “El lenguaje de programación C”  (conocido como la Biblia de C) de Kernighan and Ritchie.

El libro para aprender a programar en c

Para consultar más información, os recomendamos este artículo.

¿Por qué aprender a programar en C?

Aunque es cierto que C es un lenguaje que últimamente esta siendo remplazado en la docencia por Java y otras personas lo consideran una base para C++ o C#, nosotros si creemos que tiene sentido aprender a programar en C.

Aprender C puede ser el primer contacto de un informático con la programación a bajo nivel y además permite darse cuenta de la potencia que tiene este lenguaje, ya que posee punteros. Un buen manejo de los punteros permite aumentar la eficiencia de los algoritmos de manera exponencial, pero también he de decir que un conocimiento justo de ellos, puede probar serios problemas de corrupción de memoria o de acceso a zonas de memoria restringidas.

Leer más

Aprender Verilog paso a paso

por:

 

Aprender Verilog paso a paso

 

Introducción

Verilog es un lenguaje de programación orientado a la realización de simulaciones de hardware. Esto permite describir en este lenguaje puertas lógicas y sus conexiones y realizar distintas pruebas, antes de construir directamente el componente o circuitos, que pensábamos hacer. Además permite la depuración y análisis de resultados, que nos sirven para optimizar el circuito y reducir costes (por ejemplo pasar de 7 puertas lógicas a 3).

¿Por qué aprender Verilog?

Realmente yo no conozco a nadie cuyo trabajo exija tener conocimientos de Verilog, es un lenguaje que se usa principalmente para diseñar nuevas CPUs y otro tipo de complejos circuitos, con grandes costes de producción y multitud de elementos eléctricos y electrónicos. Normalmente el diseñar una nueva CPU o un pequeño PIC con Verilog, es un proceso complejo y que requiere muchísimo tiempo, ya que hay que indicar cada conexión una por una y unirlas patilla por patilla de cada elemento.

Captura de un fragmento de código de Verilog

Leer más

Aprender ensamblador paso a paso

por:

 

Aprender ensamblador paso a paso

 

Introducción

El ensamblador, es un lenguaje de programación, creado para no necesitar conocer el código máquina de cada CPU y que sea más fácil de recordar. Entre las características de este lenguaje, debemos destacar que permite trabajar a bajo nivel (por ejemplo ordenando que en el registro 1 de tu CPU se guarde el numero 23), permitiendo una gran optimización del código, además es un lenguaje que varía dependiendo de la CPU y está principalmente en desuso.

Para obtener más información sobre este lenguaje, podeís visitar está página.

¿Por qué aprender ensamblador?

Si es un lenguaje en desuso y no permite la pórtabilidad del código, muchos se preguntarán para qué nos sirve aprenderlo.

La respuesta corta, podría ser que la utilidad es relativamente nula, no vais a encontrar trabajo por conocer este lenguaje, ni vais a programar día a día con él y puede que después de aprenderlo, se te olvide gran parte de su sintaxis. Ahora bien, al ser un lenguaje de bajo nivel, os va a ayudar a mejorar bastante en la creación de algoritmos y optimización del código. Esto es una cosa, que según vayaís progresando con el curso, lo vaís a notar, debido a que al tener que trabajar a bajo nivel, necesitaís escribir muchas líneas para hacer operaciones muy simples. Esto obliga al programador, a dedicar gran parte del tiempo, a optimizar el algoritmo para no dedicar muchas horas a escribir lineas.

Leer más